python
while
说明
《Python 教程》 帮助读者成为泛程序员,持续修订中,提供建议、纠错、催更加微信 gairuo123。查看 更新日志。作者开办 Python 数据分析培训,详情 Python 数据分析培训。
![]() |
本教程作者所著新书《Python之光:Python编程入门与实战》(ISBN:9787111729891)已由机械工业出版社出版上市,各大电商平台有售,欢迎:查看详情并关注购买。 |
之前,我们的代码是手动执行的,While 语句可以让我们的代码按我们设定的时机一直执行下去。这个时机是 While
后边的布尔表达式结果为 True
的时候。
死循环警告
While 里的代码逻辑一定得有条件让 while 表达式为 False, 否则会造成死循环,死循环可能造成电脑死机。如果遇到死循环需要重启终端。
# 知名的斐波那契数列(后边的值是前两个之和),小于15的
a, b = 0, 1
while a < 15:
print(a, end=' ')
a, b = b, a+b
print('生成完毕')
# 0 1 1 2 3 5 8 13
# 生成完毕
语句结构:
#0. [ While 之前的代码 ]
#1. [ While {表达式} ]
#1.1 { While 循环代码}
#2.[ While 之后的代码 ]
逻辑解释:
# 数到 3
num = 0
while (num <= 3):
print(f'你拍{num},我拍{num}')
num = num + 1
print("再见!")
注意:
while
里边需要循环的语句,需要全部在缩进里while
表达式有为 False
的情况,否则会死循环以下是 7 以内数据的奇偶数判断和输出的代码执行过程:
以下是对一个指定列表中数字的奇偶数判断和输出的代码执行过程:
While 里如果需要逻辑判断,可以嵌套 if else 语句,也可以嵌套 for 循环。
name_list = ['tom', 'lily', 'lucy']
while name_list:
for i in name_list:
if i == 'tom':
print(f'{i} 是男孩。')
else:
print(f'{i} 是女孩。')
name_list.remove(i) # 执行结果就删除了
# tom 是男孩。
# lucy 是女孩。
# lily 是女孩。
可以增加和 while 平级的 else,以执行 while 列表式为 false 的情况。
# 数到 3
num = 0
while (num <= 3):
print(f'你拍{num},我拍{num}')
num = num + 1
else:
print("再见!")
break
和 continue
可实现跳过(终止)和继续执行。
# 跳过 5以上的 这个区间
for i in range(10000):
if i > 4:
break # 大于 4 时路中止整体循环
print(i)
continue 可以跳过本次剩余的代码执行,进入下一次 while 循环中:
a = 0
while a < 5:
a += 1
if a == 4:
continue # 为4时跳过,继续执行
print(a)
# 1 2 3 5
break
和 continue
除了 while
外还可以应用在其他类型的循环中。
有些情景下,需要让代码块一直执行,可以把表达式直接写成 True
等值永远为直的表达式。
while True:
pass # 啥也不干,怕出危险
var = 5
while int(var) >= 5:
var = input("输入数字,小于等于5的数会退出:")
print(f'你输入了{var}')
print('您已退出')
可以快速应用 while:
swich = 1
while (swich): print('你好呀!')
# 使用 CTRL+C 中断循环