为什么如果name ==(“Alice'或”Bob“):在python3中不起作用

时间:2016-04-14 14:26:01

标签: python-3.x

我写了如下简单程序:

name = input("enter your name\n")
if name == ("Alice" or "Bob"):
    print ("Hello" + ' ' + name)

问题是当我输入Bob

时,为什么上述程序没有给出预期的结果

2 个答案:

答案 0 :(得分:2)

如果你这样做:

if name == ("Alice" or "Bob")

它将首先评估(“Alice”或“Bob”),因为它在括号之间...然后将其与名称进行比较......

如果你这样做:

if (name == "Alice") or (name == "Bob")

然后它会正确评估

答案 1 :(得分:-1)

如果你运行x = ("Alice" or "Bob"),x评估为“Alice”,这就是“Bob”不起作用的原因。 解决方案:

if name == "Alice" or name == "Bob":
   print("Hello", name)