我希望在此If语句中,变量“ i”将递增,直到最终等于10,随后“ if 10 <10”将返回False,从而破坏了while循环。但是这段代码似乎一直打印到10点,然后陷入无限循环,除非我添加else:break。为什么?
i=0
while True:
if i < 10:
i = i + 1
print(i)
答案 0 :(得分:1)
while True
将使循环永远运行,因为“ true”始终评估为true。您可以休息一下退出循环。
要实现您想做的事,我会使用
while i < 10:
print (i)
i++
答案 1 :(得分:1)
while X
在X
等于True
时重复,因此在while True
中它总是True
。它仅以break
语句中断。
在您的代码中,仅检查while
循环内的值,如果不这样做,则不会中断while循环,也不会在True
中将False
更改为while True
。
如果要使用while
:
i = 0
while i < 10:
i += 1
print(i)
或
i = 0
while True:
if i < 10:
i += 1
print(i)
else:
break
没有while
:
for i in range(10):
print(i)
答案 2 :(得分:0)
那是因为没有任何内容告诉您终止循环。因此,即使不满足if语句,它也将继续。
这就是为什么使用while True
将break条件内置到循环中时,可以使用for循环实现相同的目的:
for i in range(0, 10):
print(i)
答案 3 :(得分:0)
如果要在True时使用,则可以进行以下操作:
i=0
while True:
i = i + 1
print(i)
if i == 10:
break
答案 4 :(得分:0)
我认为您需要在这里了解一些事情,因为您已经设置了while True
,这意味着语句将永远不会得到false
,因此即使{{1 }}失败。因此while loop
将继续运行,直到您中断为止。
不间断地实现此目标的唯一方法是这样的,其中有一个变量,当if condition
失败时,该变量会将while loop
的条件重置为false
while loop