If语句在While True循环中返回False(Python)

时间:2020-04-25 05:15:57

标签: python if-statement printing while-loop break

我希望在此If语句中,变量“ i”将递增,直到最终等于10,随后“ if 10 <10”将返回False,从而破坏了while循环。但是这段代码似乎一直打印到10点,然后陷入无限循环,除非我添加else:break。为什么?

i=0
while True:
    if i < 10:
        i = i + 1 
        print(i)

5 个答案:

答案 0 :(得分:1)

while True 将使循环永远运行,因为“ true”始终评估为true。您可以休息一下退出循环。

要实现您想做的事,我会使用

while i < 10:
    print (i)
    i++

答案 1 :(得分:1)

while XX等于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
相关问题