在Python输入返回没有被我的if或elif语句检测到直接跳到else语句,为什么?

时间:2016-04-20 16:00:22

标签: python python-3.x

我是编程和使用Python 3.5的新手。当我运行以下代码时,它会跳过我的if和elif语句,并在输入应该在if或elif代码行中输入的输入值后直接转到else(即输入的输入是chris或sam)。我不明白为什么会考虑所有值都是字符串。

这是我的代码:

name = input('What is your name?\n')
name = name.lower()

if name is 'chris':
    print('Hi Chris!')
elif name is 'sam':
    print('Hi Sam!')
else:
    print('Who are you?')

提前致谢:)

1 个答案:

答案 0 :(得分:0)

你应该使用==不是。测试一个对象是否与另一个对象的类型相同(例如,如果值为None)。