请问为什么第二段if语句的流程,elif("i=="n"or"N") , else("请输入正确字母没有运行"). 不管输入是否是对应的字符,都会再次循环

img


请问为什么第二段if语句的流程,elif("i=="n"or"N") , else("请输入正确字母没有运行"). 不管输入是否是对应的字符,都会再次循环

你应该用的语法是:i == 'n' or i == 'N'
而你现在的语句 if i == "n" or "N",不管你输入啥都会满足条件

注意你的if语句,也是这样写的。所以你不管输入啥,都满足if的判断条件

elif("i=="n"or"N") 这是语法错误
正确的:
elif i=="n" or i=="N":

或者用以下两者之一:
elif i.lower()=="n":
elif i.upper()=="N":

elif i=="n" or "N"永远为真
它等价于elif (i=="n") or "N" ,对于一个字符串来说,不为空即为真
所以也就等价于elif (i=="n") or True,同时也就等价于elif True
解决办法:
1.elif i=="n" or i=="N"
2.elif i in ('n','N')
3.elif i.lower()=="n"