2016-11-21 8 views
0
from random import randint 

isRunning =True 

while isRunning: 
    dice1 = randint(1,7) 
    dice2 = randint(1,7) 
    print("The first die landed on ℅d and the second landed on ℅d." ℅ (dice1,dice2)) 
    user_input = input("Contiue? Yes or No?\n>") 

    if user_input == "Yes" or "yes": 
     print("="*16) 

    elif user_input == "No" or "no": 
     isRunning = False 

私はこのような単純な間違いを犯しているように感じるし、グローバル変数を調べると決めたら、それはまだ役に立たない。変数がfalseに設定されているにもかかわらず、なぜwhileループが終了しないのか誰にも説明できますか?whileループ内のスコープ

+0

インデントを確認します。 "user_input ="から "down"までのすべてが、その上の3行とは異なって字下げされているように、あなたが投稿したものから見えます。 Pythonではインデントが各行で100%同一であることが必要です。 (これは投稿時の移調の問題かもしれませんが) –

+0

[複数の値に対して1つの変数をテストするにはどうすればよいですか?](http://stackoverflow.com/questions/15112125/how-do-i-test-one -variable-against-multiple-values) – TigerhawkT3

答えて

-1

if user_input== "Yes" or "yes"は、代わりにそれはif any(user_input==keyword for keyword in["Yes", "yes"]):

あなたのオリジナルと同等だ、

if user_input== "Yes" or user_input =="yes"あるべき句が真常に if user_input=="Yes"またはif "yes"if "yes"に分割されている場合if節、したがって、あなたのif-elseifを句が常にに行きます。

+0

ありがとう、これは私の問題を修正しました。 – Don

+0

残念ながら、どのようにわからないのですか。 – Don

+0

4分待たなければなりません。 – Don

関連する問題