本篇我们介绍 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 循环语句的执行过程:

python for循环级数 pythonfor循环计数_迭代

以下示例演示了如何使用 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) 函数定制循环语句。