Python编程之for循环:for i in range()
1. 什么是for循环?
在Python编程中,for循环用于遍历一个可迭代对象(如列表、元组、字符串、字典等)中的元素,依次执行相应的代码块。它的基本语法如下:
for 变量 in 可迭代对象:
执行的代码块
在每一次循环迭代中,变量会依次被赋值为可迭代对象中的元素,然后执行代码块。循环会重复执行,直到遍历完所有元素为止。
2. range()函数
在for循环中,我们经常使用range()
函数来生成一个指定范围的整数序列。range()
函数的基本语法如下:
range(start, stop, step)
- start:指定序列的起始值(默认为0)。
- stop:指定序列的终止值(不包含在序列中)。
- step:指定递增或递减的步长(默认为1)。
range()
函数生成的序列是一个左闭右开的半开区间,即包含起始值,但不包含终止值。
下面是一些示例代码,演示了range()
函数的用法:
# 生成一个从0到4(不包含4)的整数序列
for i in range(4):
print(i)
# 输出结果:
# 0
# 1
# 2
# 3
# 生成一个从2到8(不包含8)的整数序列,步长为2
for i in range(2, 8, 2):
print(i)
# 输出结果:
# 2
# 4
# 6
3. 遍历列表
使用for循环可以遍历列表中的元素,对每个元素执行相应的操作。以下是一个示例代码:
fruits = ['apple', 'banana', 'orange']
# 遍历列表中的元素,并打印每个元素
for fruit in fruits:
print(fruit)
# 输出结果:
# apple
# banana
# orange
4. 遍历元组
除了列表,我们还可以使用for循环遍历元组中的元素。与遍历列表类似,对于元组中的每个元素,执行相应的操作。以下是一个示例代码:
colors = ('red', 'green', 'blue')
# 遍历元组中的元素,并打印每个元素
for color in colors:
print(color)
# 输出结果:
# red
# green
# blue
5. 遍历字符串
字符串是一个由字符组成的序列,因此我们也可以使用for循环遍历字符串中的字符。以下是一个示例代码:
message = 'Hello, World!'
# 遍历字符串中的字符,并打印每个字符
for char in message:
print(char)
# 输出结果:
# H
# e
# l
# l
# o
# ,
#
# W
# o
# r
# l
# d
# !
6. 遍历字典
字典是一种键值对的数据结构,它的遍历方式与遍历可迭代对象稍有不同。在遍历字典时,我们可以使用字典的keys()
方法、values()
方法或items()
方法来获取字典中的键、值或键值对。以下是一些示例代码:
person = {'name': 'Alice', 'age': 25, 'city': 'New York'}
# 遍历字典的键,并打印每个键
for key in person.keys():
print(key)
# 输出结果:
# name
# age
# city
# 遍历字典的值,并打印每个值
for value in person.values():
print(value)
# 输出结果:
# Alice
# 25
# New York
# 遍历字典的键值对,并打印每个键值对
for key, value in person.items():
print(key, ':', value)
# 输出结果:
# name : Alice
# age : 25
# city : New York
7. 嵌套循环
在Python中,我们还可以在循环中嵌套另一个循环,这被称为嵌套循环。嵌套循环的内层循环会在外层循环的每次迭代中完整地执行。嵌套循环常用于处理多维数据结构,如二维列表或矩阵。以下是一个示例代码:
# 二维列表
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
# 遍历二维列表,并打印每个元素
for row in matrix:
for num in row:
print(num)
# 输出结果:
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
8. 循环控制:break和continue
在循环中,我们可以使用break
语句来提前结束循环,即跳出循环体。当满足某个条件时,我们可以使用break
语句立即退出循环,不再执行剩余的循环迭代。以下是一个示例代码:
# 遍历列表中的元素,并在找到特定元素时终止循环
fruits = ['apple', 'banana', 'orange', 'grape']
for fruit in fruits:
if fruit == 'orange':
break
print(fruit)
# 输出结果:
# apple
# banana
与break
相对应的是continue
语句,它用于跳过当前循环迭代,直接进入下一次迭代。当满足某个条件时,我们可以使用continue
语句跳过剩余的循环代码,直接进行下一次循环迭代。以下是一个示例代码:
# 遍历列表中的元素,并跳过某个特定元素
fruits = ['apple', 'banana', 'orange', 'grape']
for fruit in fruits:
if fruit == 'banana':
continue
print(fruit)
# 输出结果:
# apple
# orange
# grape
9. 练习题
为了加深对for循环的理解,以下是一些练习题,供大家练习使用for循环解决问题。
题目一
请写一个程序,计算1到100之间所有偶数的和,并输出结果。
total = 0
for num in range(1, 101):
if num % 2 == 0:
total += num
print(total)
# 输出结果:
# 2550
题目二
请写一个程序,输出九九乘法表。
for i in range(1, 10):
for j in range(1, i + 1):
print(f'{j} × {i} = {i * j}', end='\t')
print()
# 输出结果:
# 1 × 1 = 1
# 1 × 2 = 2 2 × 2 = 4
# 1 × 3 = 3 2 × 3 = 6 3 × 3 = 9
# 1 × 4 = 4 2 × 4 = 8 3 × 4 = 12 4 × 4 = 16
# 1 × 5 = 5 2 × 5 = 10 3 × 5 = 15 4 × 5 = 20 5 × 5 = 25
# 1 × 6 = 6 2 × 6 = 12 3 × 6 = 18 4 × 6 = 24 5 × 6 = 30 6 × 6 = 36
# 1 × 7 = 7 2 × 7 = 14 3 × 7 = 21 4 × 7 = 28 5 × 7 = 35 6 × 7 = 42 7 × 7 = 49
# 1 × 8 = 8 2 × 8 = 16 3 × 8 = 24 4 × 8 = 32 5 × 8 = 40 6 × 8 = 48 7 × 8 = 56 8 × 8 = 64
# 1 × 9 = 9 2 × 9 = 18 3 × 9 = 27 4 × 9 = 36 5 × 9 = 45 6 × 9 = 54 7 × 9 = 63 8 × 9 = 72 9 × 9 = 81
题目三
请写一个程序,找出列表中的最大值和最小值,并输出结果。
numbers = [15, 8, 3, 12, 6, 20, 19, 1, 17]
# 初始化最大值和最小值为列表中的第一个元素
max_num = numbers[0]
min_num = numbers[0]
# 遍历列表中的元素,更新最大值和最小值
for num in numbers:
if num > max_num:
max_num = num
if num < min_num:
min_num = num
print('最大值:', max_num)
print('最小值:', min_num)
# 输出结果:
# 最大值: 20
# 最小值: 1
题目四
请写一个程序,判断一个数是否为素数(质数),并输出结果。
num = 37
is_prime = True
# 判断num是否为素数
if num < 2:
is_prime = False
else:
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
print(num, '是素数')
else:
print(num, '不是素数')
# 输出结果:
# 37 是素数
10. 总结
通过本文,我们了解了Python中for循环的基本用法,以及如何使用range()
函数生成范围整数序列。我们学习了如何遍历列表、元组、字符串和字典,并掌握了嵌套循环的用法。此外,我们还学习了如何在循环中使用break
和continue
来控制循环的执行流程。最后,我们通过几个练习题巩固了对for循环的理解。