2017-05-28 9 views
0

** EDIT:!***これは解決されている*あなたが投票するのに十分な古い場合を教えてくれるプログラムをプログラミングの検出は、入力はintですかSTR場合•Pythonの2.7

イム。そして、あなたの年齢を聞かれたら、「数字ではなく文字を入力してください」というような、数字の代わりに文字を入力すると、あることを言いたいと思います。ここで私が今持っているコードです:try-except-else

name = raw_input("What is your name?: ") 
print("") 
print("Hello, "+name+".\n") 
print("Today we will tell you if you are old enough to vote.") 
age = input("How old are you?: ") 
if age >= 18: 
    print("You are old enough to vote, "+name+".") 
elif age < 18: 
    print("Sorry, but you are not old enough to vote, "+name+".") 
+0

を、すなわちこんにちは、%s「は 'と.'' 'すべてのものを' 'こんにちは、' +名+を交換してください'。 %name'文字列の書式設定のチュートリアルがあります:https://pyformat.info/ –

答えて

-1

あなたはこのような何か試すことができます:私はあなたが文字列フォーマットを使用することをお勧め

name = raw_input("What is your name?: ") 
print("") 
print("Hello, "+name+".\n") 
print("Today we will tell you if you are old enough to vote.") 
while True: 
    try: 
     #get the input to be an integer. 
     age = int(raw_input("How old are you?: ")) 
     #if it is you break out of the while 
     break 
    except ValueError: 
     print("Please enter a number, not a letter. Restart.") 
if age >= 18: 
    print("You are old enough to vote, "+name+".") 
elif age < 18: 
    print("Sorry, but you are not old enough to vote, "+name+".") 
+0

私はこれを試しましたが、エラーが発生しました:トレースバック(最近の最後の呼び出し):ファイル "vote.py"、行8、年齢= int( "何歳ですか?:"))ファイル ""、行1、 NameError:名前 'Dhbe'が定義されていません – MrSprinkleToes

+0

'raw_input'に' input'を変更します –

+0

今すぐ編集を確認してください –

0
name = raw_input("What is your name?: ") 
print("") 
print("Hello, "+name+".\n") 
print("Today we will tell you if you are old enough to vote.") 
while True: 
    age = raw_input("How old are you?: ") 
    try: 
     age = int(age) 
    except ValueError: 
     print("Please enter a number, not a letter. Restart.") 
    else: 
     break 
if age >= 18: 
    print("You are old enough to vote, "+name+".") 
elif age < 18: # else: 
    print("Sorry, but you are not old enough to vote, "+name+".") 

は、我々は、文字列から整数に年齢を変換しよう。 ValueErrorが発生した場合は、入力文字列が正当な整数でないことを意味します。そうでない場合は、whileループを飛び越えて、次の作業を行います。

注1:python2でinput()を使用しないでください。 thisを参照してください。

注2:elifは役に立たない。単にelseを使用してください。

+0

これをコードにどのように適合させるかはわかりません。 D: – MrSprinkleToes

+0

編集:例を完了し、説明を追加してください。 – frankyjuang

+0

あなたはおそらく 'try-catch-else'の代わりに' try-except-else'を意味しました^^ –

関連する問題