valid = False
while not valid:
print("This line runs")
valid = True
print("This line also runs...")
在while循环的中途,valid设置为True,这意味着while循环条件现在为false。我的问题是为什么最后一个打印语句会运行?那时while循环不是假的,所以它不应该突破循环吗?
答案 0 :(得分:4)
在每个循环开始时检查循环条件。如果它通过,则执行正文中的所有内容(并再次检查条件)。如果你想退出循环体的中间,请使用' break'言。
答案 1 :(得分:1)
尝试添加break语句以获得所需的结果,以及if语句:
valid = False
while not valid:
print("This line runs")
valid = True
if valid == True:
break
print("This line also runs...")
在上面的代码中,我们有一个条件语句,如果它的计算结果为True,我们将跳出循环。在此之前,您没有条件要检查循环,因此循环迭代一次,然后实际捕获该有效值为无。为了立即打破你的代码,你需要一个像我上面给你看到的中断声明。