一、while 简介
Python 的循环有 for 和 while 两种,while 为条件控制循环,通过循环控制条件表达式控制循环结束。
流程图如下:
Python 中 while 语句的格式如下:
while <条件表达式>:【语句块】
释:当 while 的 <条件表达式>为 True 时运行【语句块】,【语句块】运行结束后,进入 <条件表达式> 判断,如果 <条件表达式>结果为 True 则再次运行【语句块】, 以此循环直到 <条件表达式>结果为 False 结束循环。
示例:
# while 循环 求1~100 的和
sum = i = 0 # 初始化i和sum的值
while i <= 100: # 循环控制条件sum = sum + ii += 1 # 等同于i=i+1
print(sum) # 输出结果5050
二、while ... else ... (很少用)
while ... else ... 先进行 while 循环,循环控制条件为 False 后再执行 else。
很少情况下会使用 while...else...,知道有这个东西
语句形式如下:
while <条件表达式>:【while 的语句块】
else:【else的语句块】
释:先进行 while 循环,当循环结束后执行【else 的语句块】
示例:
# while循环 求1~100 中的所有奇数的和
sum = i = 0
while (2 * i + 1) <= 100: # 循环控制条件sum = sum + 2 * i + 1i += 1 # 等同于i=i+1
else:print('循环结束后执行else')
print(sum)
三、while 无限循环
当 while 的条件永远为 True 是就是一个无限循环。
示例:
# 从键盘输入一个正整数判断是否大于等于100还是小于100,输入负数时退出
key = 1
while key >= 0:key = input('请输入一个正整数:') # input从键盘接收数据key = int(key) # key强制转换为intif key >= 100:print(key, '不小于100')else:print(key, '小于100')
注意:while循环条件表达式总是为True,就会无限循环下去,变成死循环,所以要特别留意while循环的退出条件。
四、break 与 continue 退出循环
break 结束循环,在循环体内直接退出循环
continue 跳过后续循环代码,继续下一次循环
break 示例:
i = 0
while i <= 5: # 循环控制条件if i == 3:break # 结束循环print(i)i += 1 # 等同于i=i+1
输出结果:
0
1
2
输出结果到3就结束了,程序运行到break就结束整个循环。
continue 示例:
i = 0
while i <= 5: # 循环控制条件i += 1if i == 3:continue # 跳过当次循环print(i)
输出结果:
1
2
4
5
6
输出结果缺少了3,continue 结束了当次的循环,进入下一循环
总结
while 循环为条件控制循环,当 while 的表达式成立时我们才进行循环,直到循环到表达式不成立为止。
break 与 continue 都可以退出循环,区别在于break是结束循环,continue 是跳出当前循环进入下一次循环。