本篇我们介绍 Python for 循环语句,学习如何使用 for 循环语句多次执行某个代码块。
基本 for 循环语句
在编写程序时,我们经常需要重复多次执行某个代码块。为此,我们可以使用 for 循环语句。以下是该语句的语法:
for index in range(n):
statement
其中,index 被称为循环计数器(loop counter),n 是循环执行的次数。循环计数器的名称不一定是 index,我们可以随意定义一个名称。
range() 是一个 Python 内置函数,range(n) 可以生成一个从零开始的整数序列,序列的值每次加 1,直到 n-1 结束。因此它生成的序列为:0、1、2、…、n-1。
下图说明了 for 循环语句的执行过程:
以下示例演示了如何使用 for 循环和 range() 函数输出数字 0 到 4:
for index in range(5):
print(index)
输出结果如下:
0
1
2
3
4
在以上示例中,for 循环语句执行了 5 次 print(index)。
如果我们想要输出 1 到 5,可以使用以下代码:
for index in range(5):
print(index + 1)
输出结果如下:
1
2
3
4
5
在以上示例中,我们在每次迭代时将 index 加 1 之后再输出。不过,我们还有更好的方式实现相同的效果。
指定数字序列的开始值
默认情况下,range() 函数使用 0 作为数字序列的开始值。除此之外,range() 函数允许我们指定它的开始值:
range(start, stop)
以上语法中,range() 函数从 start 开始每次递增 1,直到 stop 结束,不包含 stop。
以下示例使用 for 循环打印 1 到 5:
for index in range(1, 6):
print(index)
输出结果如下:
1
2
3
4
5
指定数字序列的增量值
默认情况下,range(start, stop) 每次循环迭代加 1。如果想要增加一个不同的数字,可以使用以下语法:
range(start, stop, step)
以上语法中的 step 是每次增加的值。
以下示例输出了 0 到 10 之间的所有偶数:
for index in range(0, 11, 2):
print(index)
输出结果如下:
0
2
4
6
8
10
使用 for 循环计算序列的和值
以下示例使用 for 循环语句计算 1 到 100 之间所有整数的和值:
sum = 0
for num in range(101):
sum += num
print(sum)
输出结果如下:
5050
以上代码的执行过程如下:
- 首先,将变量 sum 初始化为 0。
- 然后,每次迭代将 sum 和数字(1 到 100)相加。
- 最好,输出 sum 的结果。
另外,如果你是一个数学家,可以直接使用以下简单公式:
n = 100
sum = n * (n+1)/2
print(sum)
总结
- 使用 for 循环语句多次执行某个代码块。
- 使用 range(start, stop, step) 函数定制循环语句。