0

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 

しかし、それはうまくいきません。(エラーが発生します)最初の条件で true になるまで while ループを繰り返し続ける必要があるだけです。そして鳴る。

4

3 に答える 3

3

私はあなたのコードの意図に完全に従っていません。次の行に沿って何かが欲しいと思います:

while True:
   xvalue = int(input("Enter a value: "))
   if xvalue < Limit:
      break
   print("\a\a\a")
于 2012-12-06T18:27:56.233 に答える
1

あなたのコードにはたくさんの問題がありますが、ここには大きな問題がいくつかあります。

まず、elseインwhile...elseはあなたが思っていることを意味するものではありません。のようではありませんif...else。ではwhile...elseステートメントが次のようになった場合elseにブロックが実行されます --ループから抜けた場合やエラーが発生した場合は含まれないことに注意してください。あなたのコードでは、ブロックは のときに実行されます。これは、 のブール式の反対であるためです。whileFalsebreakelsexvalue < Limitwhile

第 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")
于 2012-12-06T18:39:00.453 に答える
0

誰かが私が書いたものを提案できますか: そうでなければ: True を返しますが、それは機能しません。最初の条件で 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

さらに、あなたの質問は十分に説明していないので、理解できなくても責めないでください

于 2012-12-06T18:34:06.417 に答える