
上QQ阅读APP看书,第一时间看更新
1.6.3 循环结构
1.for循环与while循环
for循环执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,若条件不成立则跳出当前for循环。在while循环中,当条件满足时进入循环,之后当条件不满足时,执行完循环体内全部语句后再跳出(而不是立即跳出循环)。
(1)for循环
Python的for循环可以遍历任何序列的元素,如一个列表或者一个字符串。具体的for循环结构图如图1-36所示。
关于for循环结构用法的示例如下所示。
【例1-51】遍历集合
>>>languages = ["C", "C++", "Perl", "Python"] >>> for x in languages: ... print (x) C C++ Perl Python
(2)while循环
值得注意的是,在Python中没有do...while循环。具体的while循环结构图如图1-37所示。
图1-36 for循环结构图
图1-37 while循环结构图
关于while循环结构用法的示例如下所示。
【例1-52】求1到100的和
n = 100 sum = 0 counter = 1 while counter <= n: sum = sum + counter counter += 1 print("1 到 %d 之和为: %d" % (n,sum))
执行结果如下:
1 到 100 之和为: 5050
2.break语句与continue语句
while循环中的break用于永久终止循环,即不执行本次循环中break后面的语句,直接跳出循环;而while循环中的continue则用于终止本次循环,即本次循环中continue后面的代码不执行,进行下一次循环的入口判断。
(1)break语句
break语句可以跳出for和while的循环体。如果你从for或while循环中终止,那么任何对应的循环else块将不执行。
【例1-53】使用break跳出循环
for letter in 'Runoob': # 第一个实例 if letter == 'b': break print ('当前字母为 :', letter) var = 10 # 第二个实例 while var > 0: print ('当期变量值为 :', var) var = var -1 if var == 5: break print ("Good bye!")
执行以上脚本,输出结果为:
当前字母为 : R 当前字母为 : u 当前字母为 : n 当前字母为 : o 当前字母为 : o 当期变量值为 : 10 当期变量值为 : 9 当期变量值为 : 8 当期变量值为 : 7 当期变量值为 : 6 Good bye!
(2)continue语句
continue语句用来跳过当前循环块中的剩余语句,继续进行下一轮循环。
【例1-54】使用continue跳出循环
for letter in 'Runoob': # 第一个实例 if letter == 'o': # 字母为 o 时跳过输出 continue print ('当前字母 :', letter) var = 10 # 第二个实例 while var > 0: var = var -1 if var == 5: # 变量为 5 时跳过输出 continue print ('当前变量值 :', var) print ("Good bye!")
执行以上脚本,输出结果为:
当前字母 : R 当前字母 : u 当前字母 : n 当前字母 : b 当前变量值 : 9 当前变量值 : 8 当前变量值 : 7 当前变量值 : 6 当前变量值 : 4 当前变量值 : 3 当前变量值 : 2 当前变量值 : 1 当前变量值 : 0 Good bye!