-2
最初のIF文は無視されていますが、何が原因か分かりません。IF文がスキップされました - Python 2.7
が最初のIF文は無視されていますが、何が原因か分かりません。IF文がスキップされました - Python 2.7
がraw_input()
import random
numberRolled = random.randint(1,6)
print numberRolled
while True:
userGuess = raw_input("Guess a number\n")
if userGuess == numberRolled:
print "You got it right!"
quitYN = raw_input("Would you like to play again?\n").lower()
if quitYN == "yes":
continue
else:
break
elif userGuess != numberRolled:
print "Wrong!"`
最初IF.`を無視し、私はインデントをチェックし、すべてはあなたはそれがnumberRolledを出力コード内で見ることができますfine.Asようだが、私はそれを実行したとき、それはjusts
文字列を返しますが、
random.randint()
返します
int。これは、
userGuess == numberRolled
を実行するときに文字列をint(これは
False
を返します)と比較していることを意味します。
userGuess == str(numberRolled)
は、より多くの変数の型についての情報とどのようにPythonでそれらを比較するためのthis answerを見てみましょう:単に正しい型に変数のいずれかを変換するこの問題を解決するには
。
'numberRolled'は整数で、' userGuess'は文字列です。 'raw_input("推測数\ n ")' => 'int(raw_input("推測数\ n "))'です。あなたのelifも冗長です!彼らはそれが等しくない場合にのみ、その点に達するでしょう。 elseを使うことができます。 –
if文が「無視される」とは、条件が真ではないことを意味します。コードを1行ずつ実行すると、理由が分かります –
Pual Rooneyに感謝します。 =) –