工作,我寫了如下簡單的程序:爲什麼如果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