Python问题如果/ elif

时间:2018-03-01 22:19:13

标签: python

我试图让这段代码正常工作,但我似乎无法找到合适的解决方案。

while True:
    tname = input("Please enter the unit of the temperature: ")
    list=["Celsius","Kelvin","Fahrenheit"]
    if tname == list[0] or list[1] or list[2]:
        break
    elif tname is not list[0] or list[1] or list[2]:
        print("Not a valid unit. Please try again.")

我希望程序在输入Celsius,Kelvin或Fahrenheit时停止,但无论我写什么,程序都会停止。你们知道解决它吗?提前致谢

1 个答案:

答案 0 :(得分:1)

技术上正确的答案是,链接理解并不像那样;你必须这样做

if tname == list[0] or tname == list[1] or tname == list[2]:

但您考虑过使用in吗?

if tname in list:

或类似地:

if tname not in list:

另外,我建议不要使用list作为列表的名称,因为这也是类型的名称!