あなたのコードにはたくさんの問題がありますが、ここには大きな問題がいくつかあります。
まず、else
インwhile...else
はあなたが思っていることを意味するものではありません。のようではありませんif...else
。ではwhile...else
、ステートメントが次のようになった場合else
にブロックが実行されます --ループから抜けた場合やエラーが発生した場合は含まれないことに注意してください。あなたのコードでは、ブロックは のときに実行されます。これは、 のブール式の反対であるためです。while
False
break
else
xvalue < Limit
while
第 2 に、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")