2016-05-02 5 views
0

入力が-1または-2の場合でも、このコードは常に最初の条件を返しますが、ifステートメントは0以上を取るべきですか?パラメータの外にあっても最初の条件が常に返されるのはなぜですか?

european_floor = raw_input("Which floor of a Parisian hotel would you like to stay in tonight?") 
us_floor = int(european_floor) + 1 
lower_us_floor = int(european_floor) - 1 

if european_floor > -1: 
    print ("For floor " + str(european_floor) + " in Paris, the equivalent floor in New York would be floor " + str(us_floor) + "!") 
elif european_floor < -1: 
    print ("For floor " + str(european_floor) + " in Paris, the equivalent floor in New York would be floor " + str(lower_us_floor) + "!") 
else: 
    print ("For floor " + str(european_floor) + " in Paris, the equivalent floor in New York would be the basement!") 
+0

if/elifを文字列のeuropean_floorに適用しています。なぜなら、us_floorとlower_us_floor変数でのみ整数に変換しているからです:european_floor = int(raw_input( "パリのホテルのどのフロアを今夜泊りたいですか?")) –

答えて

2

文字列をintと比較するためです。

european_floor = int(raw_input("Which ...")) 
関連する問題