2017-11-23 12 views
-1

あなたが分かるように、私はかなり初心者のPythonコーダーです。現在のところ、私はいくつかの小さなテストプログラムを作成しており、大きなプログラムを試す前に、すべてのインデントを確実にしようとしています。 私は、入力が整数でない場合、プログラムは整数を入力する必要があるというメッセージを出力するようにしています。しかし、現在のコードでは、答えにかかわらず「正解でなければならない」と答えています。「整数を入力してください」というメッセージが出力されます。私は何を間違えたのですか?コードは次のとおりです。整数を入力すると、これは整数ではないのはなぜですか? (Python)

a = input("What is your age?") 
b = 7 
c = ((a-2) * 4) +25 
if a == int: 
    print "Your age in a small dog's years is:", ((a-2) * 4)+28 
    print "Your age in a medium sized dog's years is:", ((a-2) * 6)+27 
    print "Your age in a big dog's years is:", ((a-2) * 9)+22 
    print "Your age in cat years is:", c 
    print "Your age in guinea pig years is:", a * 15 
    print "Your age in hamster years is:", a * 20 
    print "Your age in pig years is:", ((a-1) * 4)+18 
    print "Your age in goldfish years is:", ((a-1) * 8)+188 
    print "Your age in cow years is:", ((a-1) * 4)+14 
    print "Your age in horse years is:", a * 3 
    print "Your age in goat years is:", ((a-1) * 6)+18 
    print "Your age in rabbit years is:", ((a-1) * 8)+20 
    print "Your age in chinchilla years is:", ((a-1) * 7)+17 
elif a != int: 
    print "You must enter an integer!" 

それ以外の場合は、これを破棄しているように見えます。おかげさまで

+1

'==のint'あなたは変数の型を確認する方法ではありません。 – Barmar

+0

https://stackoverflow.com/questions/3501382/checking-whether-a-variable-is-an-integer-or-not – Pavel

+0

入力が整数int(input())であることを確認してください。あなたの現在の実装で 'type(a)をチェックすると、文字列' – jmugz3

答えて

2

のPython 3:Pythonの2で、あなたのケースでは

a = input("What is your age?") # this is a string input 
a = int(input("What is your age?")) # you need an integer input 
elif(isinstance(a, int)) # this is how you check if a is integer 

a = raw_input("What is your age?") # input is interpreted as unicode here 

try: 
    a = int(a) 
    b = 7 
    c = ((a-2) * 4) +25 
    print "Your age in a small dog's years is:", ((a-2) * 4)+28 
except: 
    print "You must enter an integer!" 
+0

'a = input(あなたの年齢は?) b = 7 c =((a-2)* 4)+25 if(isinstance(a、int)): #Stuff else: print "整数を入力する必要があります!" ' –

+0

数字以外の何かを入力するとエラーが出る? –

+0

ああ、あなたはpython2を使っています。私は答えを –