在我们之前使用的示例中,有时需要多次执行相同的工作。我们使用一个计数器来检查代码需要执行多少次。这种技术称为循环。首先,我们将研究 while 语句的循环。
While 循环
While 语句的语法如下
while condition:statement1statement2
我们要重用的代码必须在 while 语句下正确缩进。 如果条件为真,它们将被执行。 与 if-else 语句一样,任何非零值都为真。 让我们写一个简单的代码来打印数字 0 到 10
>>> n = 0>>> while n < 11:... print(n)... n += 1...012345678910
在第一行中我们设置 n = 0,然后在 while 语句中条件是 n < 11,这意味着任何缩进在下面的行都将执行,直到 n 变得相同或大于11。在循环中,我们只是打印 n 的值,然后增加1。
这些代码在现实生活中对我们有什么帮助呢?想想你不得不一个接一个地打开10个灯泡的情况。也许你可以从1到10运行一个循环,对于 n 上的每个值,打开第 n 个灯泡。
斐波那契数列
让我们尝试解决斐波那契数列。 在这个系列中,我们通过将前两个数字相加得到下一个数字。 所以这个系列看起来像 1,1,2,3,5,8,13 …….
#!/usr/bin/env python3a, b = 0, 1while b < 100:print(b)a, b = b, a + b
输出
$ ./fibonacci1.py1123581321345589
#!/usr/bin/env python3a, b = 0, 1while b < 100:print(b, end=' ')a, b = b, a + b
输出
$ ./fibonacci2.py1 1 2 3 5 8 13 21 34 55 89
Power 系列
乘法表
在这个例子中,我们将打印10个乘法表。
#!/usr/bin/env python3i = 1print("-" * 50)while i < 11:n = 1while n <= 10:print("%4d" % (i * n), end=' ')n += 1print()i += 1print("-" * 50)
输出
$ ./multiplication.py--------------------------------------------------1 2 3 4 5 6 7 8 9 102 4 6 8 10 12 14 16 18 203 6 9 12 15 18 21 24 27 304 8 12 16 20 24 28 32 36 405 10 15 20 25 30 35 40 45 506 12 18 24 30 36 42 48 54 607 14 21 28 35 42 49 56 63 708 16 24 32 40 48 56 64 72 809 18 27 36 45 54 63 72 81 9010 20 30 40 50 60 70 80 90 100--------------------------------------------------
