ab=0
while ab==0:
ab=input("enter here:")
if ab==1:
print("print this ab==1")
elif ab==2:
print("print this ab==2")
elif ab==3:
print("print this ab==3")
elif ab==4:
print("print this ab==4")
else:
print("try again")
结果:
enter here:2
try again
当我将输入作为1,2,3,4之类的东西时,它返回else条件(打印“重试”),然后循环在这里结束
输出:
enter here:4
try again
并且循环终止
当我的输入是1/2/3/4时,我希望有相应的elif条件,但实际输出是else条件,并且在结果循环终止之后
答案 0 :(得分:1)
Python将输入视为字符串。因此,要么将这些数字作为字符串进行比较,要么将您的输入转换为整数。您可以尝试
ab = int(input("enter here"))
答案 1 :(得分:0)
您还可以将输入与字符串进行比较,而不必将其转换为int。
例如。
...
elif ab=="1":
print("print this ab==1")
...
答案 2 :(得分:0)
选项1:您需要强制转换input()调用返回的值。使用以下方法:
int(input())
选项2:您可以比较字符串而不是整数:if ab=="1"
但不要同时选择两者之一。如果希望获得实际上可以转换为整数的值,则第一个是好的。因此,如果选择该选项,则应在投射前检查输入值。
答案 3 :(得分:0)
默认情况下,Python的input()方法返回一个字符串。您必须通过将输入转换为int
的方式来对待它:
ab = int(input(“enter int here”))
或者以str
格式执行所有比较,如果您要测试数字以外的其他输入,则可以使用该格式:
ab=input("enter string here:")
if ab=='1':
print("print this ab==1")
elif ab=='2':
print("print this ab==2")
elif ab=='3':
print("print this ab==3")
elif ab=='4':
print("print this ab==4")
else:
print("try again")