while 循环和 if 语句类似,也是去判断一个布尔表达式的真假,不一样的是它下面的代码块不是只被执行一次,而是执行完在跳回 while 的顶部,如此重复的进行,直到表达式为False为止。
while 循环有一个问题,那就是有时它会永远无法停止,造成死循环。
为了避免这样的问题,你需要遵循下面的规则:
- 1. 尽量少用 while 循环,大部分时候 for 循环是更好的选择;
- 2. 重复检查你的 while 语句,确定你测试的布尔表达式最终会变成 False ;
- 3. 如果不确定,就在 while 循环的开始和结尾打印出你要测试的值,看看它的变化;
基础练习:
i = 0
numbers = []
while i < 6:
print(f"At the top i is {i}")
numbers.append(i)
i += 1
print("Numbers now: ", numbers)
print(f"At the bottom i is {i}")
print("The numbers: ")
for num in numbers:
print(num)
结果:
折腾一下:
1. 将这个 while 循环改成一个函数,将测试条件(i < 6)中的 6 换成一个变量;
2. 使用这个函数重写你的脚本,并使用不同的数进行测试;
3. 为函数添加另一个参数,这个参数用来定义第 8 行的 +1,这样你就可以让它任意递增了;
4. 再使用该函数重写一遍这个脚本,看看效果如何;
5. 使用 for 循环和 range() 把这个脚本再写一遍。还需要中间的递增操作吗?如果不去掉它,会有什么样的后果呢?
..........懒癌发作...暂时不想写.....
扫描二维码关注公众号,回复:
3464533 查看本文章