Python中循环语句有for和while。Python循环语句控制结构如图1-25所示。
for循环
在Python中for循环可以变量任何序列的项目,如一个列表或一个字符串。for循环一般格式如下:
for <variable> in <sequence>: <statements> else: <statements>
下面用for语句实现打印1~10的数字:
1 for x in range(1,10): 2 print(x)
运行后控制台会输出:
1 2 3 4 5 6 7 8 9
其中range表示范围,1~10的数,x表示从1开始迭代,每迭代一次,x就会加1,直到x变成了10结束,因此x=10时不执行语句,for循环是9次迭代。
如果是列表或字典,就不用range()函数,直接用列表或字典,此时x表示列表或字典的元素,代码如下。
list = [1,2,3,4] for x in list: print(x)
运行后控制台会输出:
1 2 3 4
while循环
在Python中while循环的一般格式如下:
while 判断条件: 语句
同样地,需要注意冒号和缩进。另外,在Python中没有do……while循环。以下示例使用了whlie来计算1~100的总和。
1 n = 100 2 sum = 0 3 counter = 1 4 while counter <= n: 5 sum = sum + counter 6 counter += 1 7 print("1到%d之和为:%d"%(n , sum))
运行之后控制台会输出: 1到100之和为:5050 。
还可以通过设置条件表达式永远不为False来实现无限循环,示例如下:
1 var= 1 2 while var == 1: # 表达式条件永远为true 3 num = int(input("请输入一个数字:")) 4 print("您输入的数字是:" ,num) 5 print("Good bye!")
运行控制台会输出:
请输入一个数字:1 您输入的数字是: 1 请输入一个数字:2 您输入的数字是: 2 请输入一个数字:
While循环使用else语句
while ……else在条件语句为False时执行else语句块,示例如下:
1 count = 0 2 while count < 5: 3 print(count , "小于5") 4 count = count + 1 5 else: 6 print(count , "大于或等于5")
运行后控制台会输出:
0 小于5 1 小于5 2 小于5 3 小于5 4 小于5 5 大于或等于5