Python:如何重复false while循环?

时间:2012-12-06 18:25:54

标签: python loops while-loop repeat

我无法让它实际重复while循环。 我试过让它注册一个真值,或者让它继续或突破循环。但没有任何作用。

xvalue = int(input("Enter a test value to test if it works: "))

while xvalue >= Limit:
    print("\a\a\a")
else:
    continue
    xvalue = int(input("Updating Value: "))

有人可以提出建议吗?

我也写过这样说:

else:
     return True 

但这不起作用。 (我得到一个错误)我只需要它继续重复while循环,直到它在第一个条件成为真。然后响了。

3 个答案:

答案 0 :(得分:3)

我并不完全遵循您的代码的意图。我想你想要的东西如下:

while True:
   xvalue = int(input("Enter a value: "))
   if xvalue < Limit:
      break
   print("\a\a\a")

答案 1 :(得分:1)

您的代码存在许多问题,但这里存在一些大问题。

首先,else中的while...else并不代表您的想法。它与if...else中的情况不同。在while...else中,else块被执行if your while statement becomes False - 请注意,如果您break离开循环或者有一个错误。在您的代码中,else块将在xvalue < Limit时执行,因为这与while的布尔表达式相反。

其次,因为{/ 1}}块在循环后执行,所以将else放在那里没有任何意义,因为不再有任何循环来迭代。不仅如此,即使 循环继续,您在continue之前卡住continue的事实意味着循环将在用户获得之前重新启动有机会提供更新的值。您需要在重新分配后放置xvalue = int(input... ,此时,没有必要放入continue一点都不。

所以基本上,你要找的是:

continue

OP评论后更新:

xvalue = int(input("Enter a test value to see if it works: "))

while xvalue >= Limit:
    print ("\a\a\a")
    xvalue = int(input("Please try another value: "))

答案 2 :(得分:0)

  

有人可以建议我写的东西,以便说:   else:返回True但不起作用。我只需要它继续重复while循环,直到它在第一个条件成为真。然后响了。

您可以执行以下操作:

Value = False

while Value == False:
    #code to do while looping

#code to do after looping

或:

Value = False

While 1:
   #code for inside the loop
   if Value == True
       break

此外,你的问题并没有真正描述,所以如果我不理解,不要怪我