工作,我写了如下简单的程序:为什么如果name ==(“爱丽丝”或‘鲍勃’):不python3
name = input("enter your name\n")
if name == ("Alice" or "Bob"):
print ("Hello" + ' ' + name)
的问题是,为什么上面的程序并没有给预期的结果当我输入Bob
工作,我写了如下简单的程序:为什么如果name ==(“爱丽丝”或‘鲍勃’):不python3
name = input("enter your name\n")
if name == ("Alice" or "Bob"):
print ("Hello" + ' ' + name)
的问题是,为什么上面的程序并没有给预期的结果当我输入Bob
如果你这样做:
if name == ("Alice" or "Bob")
,会先评估( “爱丽丝” 和 “鲍勃”),因为它是括号之间......然后把它比作名称...
如果你这样做:
if (name == "Alice") or (name == "Bob")
那么它会正确评估
对不起,Python不是最好的,但是如果在[“Alice”,“Bob”]中输入名称,那么更好的方法不是' –
请参见示例https://repl.it/CFbQ/1 –
@ AlexanderHolman的方法更“pythonic”,也不需要括号。“if name ==”Alice“or name ==”Bob“''是完全有效的 – Igor
你有没有注意到你的代码有语法错误?或者,如果名字==(“Alice”,“Bob”):' –
@KarolyHorvath请问你能给我一些链接吗? – Shash