您的代码存在很多问题,但这里有一些大问题。
首先,else
inwhile...else
并不意味着你认为它做了什么。这不像在if...else
. 在中,如果您的语句变为-- 请注意,如果您退出循环或出现错误,则执行while...else
该else
块。在您的代码中,该块将在何时执行,因为这与您的布尔表达式相反。while
False
break
else
xvalue < Limit
while
其次,因为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: "))
OP评论后更新:
xvalue = int(input("Enter a test value to see if it works: "))
while xvalue < Limit: # Repeats until user gives a value above limit
xvalue = int(input("Please try another value: "))
else:
while True: # Causes bell to ring infinitely
print ("\a\a\a")