一、while 简介

Python 的循环有 for 和 while 两种,while 为条件控制循环,通过条件表达式控制循环结束。

流程图如下:

Python 中 while 语句的格式如下:

while <条件表达式>:

【语句块】

释:当 while 的 <条件表达式>为 True 时运行【语句块】,【语句块】运行结束后,再次进入 <条件表达式>进行 判断,如果 <条件表达式>结果为 True 则再次运行【语句块】, 以此循环直到 <条件表达式> 结果为 False 结束循环。

示例:求1~100 的和

# 初始化i 和 sum的值
sum = i = 0
while i <= 100: # 循环控制条件
sum = sum + i
i + = 1 # 等同于i=i+1
print(sum) # 输出结果5050

二、while ... else ... (很少用)

while ... else ... 先进行 while 循环,循环结束后再执行 else 下的语句。

只有在特定条件下会用 while...else...,知道有这个东西就可以

语句形式如下:

while <条件表达式>:

【while 的语句块】

else:

【else的语句块】

释:先进行 while 循环,当循环结束后执行【else 的语句块】

示例:求1~100 中的所有奇数的和

sum = i = 0
while (2 * i + 1) <= 100: # 循环控制条件
sum = sum + 2 * i + 1
i += 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强制转换为int
if key >= 100:
print(key, '不小于100')
else:
print(key, '小于100')

注意:while循环条件表达式总是为True,就会无限循环下去,变成死循环,所以要特别留意 while 循环的退出条件。

四、break 与 continue 退出循环

break 结束循环,遇到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 += 1
if i == 3:
continue # 跳过当次循环
print(i)

输出结果:

1

2

4

5

6

输出结果缺少了3,continue 结束了当次的循环,进入下一循环

总结

while 循环为条件控制循环,当 while 的表达式为True时我们才进行循环,循环到表达式为False 结束。

break 与 continue 都可以退出循环,区别在于break是结束循环,continue 是跳出当前循环进入下一次循环。Python while 条件控制循环 思维导图

2019年3月3日,第一次修改,增加思维导图

2019年8月1日,第二次修改,校验