2016-12-05 9 views
0

問題のコードはこれですelifの句を無視します与えられた入力が数字以外であれば、与えられたメッセージを閉じてプログラムを閉じます。問題はelifであり、通訳者は完全に無視しているようです。プログラムに1,2,3、または4を入れても、それは明らかに12よりも低いですが、「おめでとう!ライン。私は非常に混乱しており、これに新しいです - どんな洞察力も高く評価されるでしょう。前もって感謝します!インタプリタは完全に

+1

「年齢」に割り当てる前にユーザー入力をint()に変換します。実際には非常に一般的なエラーです。 – DyZ

+0

条件の外に括弧を入れないでください。 –

+0

また、タグの使用には慎重を期してください。例えば、「インタープリタ」タグは、この質問に使用すべきではありません。「タグ[通訳者]は、通訳のプログラミングに関する、または通訳の詳細な内部動作に関する質問に適用されるべきです。これはPythonの基本的な質問です。 –

答えて

1

if int(age)。これは何ですか?真であるブール値をチェックするだけです。それが本当であれば、それは常にifのステートメントに入ります。 Pythonではすべてが "真実性"を持っているので、0でない数字はifになります。

ここには、達成しようとしているものに近いものがありますか?入力を再入力したり、エラーを起こしたりするために編集することができます。

age = input("How old are you? ") 
if not age.isdigit(): 
    print("Invalid age, must be numeric") 
elif int(age) < 12: 
    print("You're way too young to hear all this swearin'. Get out.") 
else: 
    print("Congratulations! Some people die before they get to be %s years old!" % (age)) 
+0

ああ、そうです。あなたが書いたことは間違いなくもっと意味があります、ありがとう - 私はあなたが言及した '真実性'の面でまだ少し混乱していますが、私はそれが追加で修正できないものではないと確信しています読書と研究。私は非常に助けに感謝し、素晴らしい一日を! – sanityrepresent