Python 3如果elif else语句不起作用

时间:2018-04-20 21:06:36

标签: python-3.x if-statement

如果我输入除john或johnny以外的任何内容,运行代码后,它仍会打印出JOHNNY!这是为什么?

user_name = input('What is your name?')

if user_name.lower() == 'john' or 'johnny':
    print ('JOHNNY!!!')
elif user_name.lower() == 'bill' or 'billy':
    print ('BILLY!!!')
else:
    print ('Hello {0}'.format(user_name))

2 个答案:

答案 0 :(得分:1)

您需要按照以下方式更正所有条件:

if user_name.lower() == 'john' or user_name.lower() =='johnny':

一个好方法是

if user_name.lower() in {'john' ,'johnny'}:

答案 1 :(得分:0)

@JacobIRR有更好的解决方案,但您也可以执行以下发布的内容。

user_name = input('What is your name?')

if user_name.lower() == 'john' or user_name.lower() == 'johnny':
    print ('JOHNNY!!!')

elif user_name.lower() == 'bill' or user_name.lower() == 'billy':
    print ('BILLY!!!')

else:
    print ('Hello {0}'.format(user_name))