2016-12-30 6 views
0

if、elif、else文は、ifがtrueであっても常にelseを返します。else if elif always yeilds間違った値

value = input("Please enter a product code.") 

if value == 34512340: 
    #code 
elif value == 98981236: 
    #code 
else: 
    print("Product not found") 

私は入力34512340、私は "製品が見つからない"

+0

あなたがint 'にあなたの価値をキャストする必要があります' –

+0

値が==" 34512340 "の場合は の場合: –

答えて

0

はPythonは常に文字列としてinput()を扱いますので、int型にinput()をキャストし得る:

value = int(input("Please enter a product code.")) 

if value == 34512340: 
    #code 
elif value == 98981236: 
    #code 
else: 
    print("Product not found") 
+0

入力は数値以外の値を取ることができるので、数値をstrをintにキャストするよりも安全です。値== "34512340"の場合は3210: –

+0

私はそれも入れたいと思っていましたが、両方の方法が機能します。 – Inconnu

+0

ypeは、この単純な例の両方で有効な答えです。 –

関連する問題