2017-01-28 6 views
-4
from random import randint 
secretNumber=randint(1,10) 

number = raw_input("Guess") 
number = int(number) 

while "number"!=secretNumber: 
    print "try again" 
    number = int (raw_input("Guess")) 
elif "number"==secretNumber: 

print "you won" 

私はのelifせずにそれを試してみましたが、それは仕事をdosent、 は、それだけでこのことを言います。Pythonのエラー私はそれを実行しようとするたびにelifの無効な構文

+0

「elif」には「if」が必要です –

+0

「while」には「elif」がありません。 – Matthias

+1

そして、文字列 '' number "は、整数である変数' secretNumber'の内容と等しくなることをどう思いますか?ヒント:「数字」と「数字」は2つの異なるものです。 – Matthias

答えて

0

よく言及したように、whileは、elifを持っていません。 whileif-elif-else文の違いを調べるには、googleの "control flow python"またはpython.orgのチュートリアルを読むことができます。

あなたの例ではelifはまったく必要ありませんが、elifは唯一の間違いではありませんでした。もう1つは、“number”を二重引用符で囲みます。 numberはユーザーが入力した番号ですが、“number”は文字列です。数字と文字列を比較しようとすると、あなたは永遠のwhileループを作ります。 あなたの場合、elifで文字列を削除するだけで十分でしょう。numberを引用符で囲まないでください。

while number != secretNumber: 
print "try again" 
number = int (raw_input("Guess")) 

print "you won" 
関連する問題