3.2.1 for循环与while循环的基本语法
不停地重复一件事情,时间久了会非常无聊,然后大脑就会由于疲劳而容易入睡。
重复性的劳动会使人疲劳,而计算机不会,只要代码写得正确,计算机就会孜孜不倦地重复工作。在Python中主要有两种形式的循环结构:for循环和while循环。
while循环一般用于循环次数难以提前确定的情况,当然也可以用于循环次数确定的情况;
for循环一般用于循环次数可以提前确定的情况,优势适用于枚举或遍历序列或迭代对象中元素的场合。当循环带有else子句时,如果循环因为条件表达式不成立或序列遍历结束而自然结束时则执行else结构中的语句,如果循环是因为执行了break语句而导致循环提前结束则不执行else中的语句。其完整语法形式为:
1 while 条件表达式:
2 循环体
3 [
4 else:
5 else子句
6 ]
7
8 和
9
10 for 变量 in 序列或迭代对象:
11 循环体
12 [
13 else:
14 else子句代码块
15 ]
其中方括号内的else子句可有可无。下面的代码演示了带有else子句的循环结构,该代码用来计算1+2+3+...+99+100的结果。
1 s = 0
2 for i in range(1,101):
3 s += i
4 else:
5 print('# 程序执行结果:{}'.format(s))
6
7 # 程序执行结果:5050
下面的代码使用while循环实现了相同的功能:
1 s = i = 0
2 while i <= 100:
3 s += i
4 i += 1
5 else:
6 print('# 程序执行结果:{}'.format(s))
7
8
9 # 程序执行结果:5050
下面的代码巧妙运用range()函数来控制循环此时输出有星号(*)组成的菱形图案:
1 def main(n):
2 for i in range(n):
3 print((' * ' * i).center(n * 3))
4
5 for i in range(n,0,-1):
6 print((' * ' * i).center(n * 3))
7
8 main(6)
建议:编程时一般优先考虑使用for循环。