「这是我参与2022首次更文挑战的第6天,活动详情查看: 2022首次更文挑战 」。
昨天我们已经学习了for循环了,for是遍历,而while则是在条件不成立时停止。用一句话来说,while循环就是:只要某条件成立,就一直做某事。
看一个简单的例子,
while 2 > 1:
print('2大于1')
这里要注意,因为while后面的条件永远成立,所以这个循环会一直执行下去,我们要点一下终止。否则会导致你的CPU过热。
while循环不能像for循环那样,在集合被遍历后停止,那我们应该怎么控制while循环呢?有一个方法就是制造一个终止条件。例如:
count = 0
while True:
print("重复打印")
count = count + 1
if count == 5:
break
这段代码里面有两个重点,第一个就是我们给一个变量count赋值0,为的就是计数。我们希望在第五次循环是停下来。所以我们就用同样作为关键词的if告诉程序当计数为5时,break。
除此之外呢,让while循环停下来的办法就是:改变循环成立的条件。
我们来做一个猜数字的小游戏,当猜错三次时,就不让猜了。
import random
num = random.randint(1,10)
def guess_num():
time = 3
while time > 0 :
g_num = input("请输入您猜测的数字:")
if g_num == num:
print('You are right!')
break
else:
print("请重新输入")
time = time - 1
else:
print("没机会啦!")
guess_num()
jupyter notebook 不知道为啥执行不了了,用pycharm来运行一下,第五行里面当time>0时会继续执行while循环,继续输入你猜的数字,进而判断你猜的数字是否正确。当你输入的密码错误时,time会减一,也就是有三次试错的机会。
在这里while可以理解成是if的循环版,用了while-else结构,而在while中又有第二层的逻辑判断,这其实构成了嵌套逻辑。