我无法让它实际重复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循环,直到它在第一个条件成为真。然后响了。
答案 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
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
此外,你的问题并没有真正描述,所以如果我不理解,不要怪我