Python 为什么第一个条件总是在参数之外返回?

Python 为什么第一个条件总是在参数之外返回?,python,Python,为什么这段代码总是返回第一个条件,即使输入是-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: pr

为什么这段代码总是返回第一个条件,即使输入是-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!")
european_floor=raw_input(“您今晚想入住巴黎酒店的哪一层?”)
美国楼层=国际(欧洲楼层)+1
下部地板=内部(欧洲地板)-1
如果欧洲楼层>-1:
打印(“对于巴黎的楼层“+str(欧洲楼层)+”,纽约的等效楼层为楼层“+str(美国楼层)+”!”)
elif欧洲楼层<-1:
打印(“对于巴黎的楼层”+str(欧洲楼层)+”,纽约的等效楼层为楼层”+str(较低的美国楼层)+“!”)
其他:
打印(“对于楼层”+str(欧洲楼层)+“在巴黎,纽约的等效楼层将是地下室!”)

因为您将字符串与整数进行比较。请调整此行:

european_floor = int(raw_input("Which ..."))

因为您将字符串与整数进行比较。请调整此行:

european_floor = int(raw_input("Which ..."))

您正在将if/elif应用于european_floor,它是一个字符串。因为,您仅在us\u floor和lower\u us\u floor变量中将其转换为整数。尝试以下操作:european\u floor=int(原始输入(“您今晚想入住巴黎酒店的哪一层?”))您将if/elif应用于european\u floor,这是一个字符串。因为,您仅在us\u floor和lower\u us\u floor变量中将其转换为整数。请尝试以下操作:european\u floor=int(原始输入(“您今晚想入住巴黎酒店的哪一层?”)