if语句中的python字符串变量不起作用



我认为这与if语句有关,但我不知道是什么。

我试图让用户输入3个选项中的1个,如果他们键入其他内容,它会重新启动它们。每次我键入不属于选项之一的内容时,它都会正常打印重新启动。但如果我键入其中一个选项,它总是会出现";它有o"。我试过切换elif和if。不过,我可能并没有什么都试过。

import math

choices = ["o","a","h"]
#ang = float(input("Angle: "))
unk = str(input("Unknown side (o,a,h): "))
if unk.lower() in choices:
print("It has o")
elif unk.lower() in choices:
print("It has a")
elif unk.lower() in choices:
print("It has h")        
else:
print("restart")

大声朗读代码-如果您的输入是有效的选择,请打印它,否则打印"重新启动";。

那里只有两种情况,而不是四种。

unk = input("Unknown side (o,a,h): ")
if unk.lower() in choices:
print(f"It has {unk.lower()}")
else:
print("restart")

最新更新