我一直在研究这段代码:
print('Type any number or letter to start. ')
begin = input()
if begin != "Z" or 'z':
print("Starting up!")
elif begin == "Z" or "z":
print("Except Z")
当我运行它时,我希望它是当我在输入中键入“ Z”时,它显示消息“ Except Z”。而是显示“正在启动!”这似乎很违反直觉。谁能找到我的问题所在?
答案 0 :(得分:1)
有两种方法可以表达您在Python中的含义。
print('Type any number or letter to start. ')
begin = input()
if begin == "z" or begin == "Z":
print("Except Z")
else:
print("Starting up!")
是第一个;
print('Type any number or letter to start. ')
begin = input()
if begin in ("z", "Z"):
print("Except Z")
else:
print("Starting up!")
是另一种惯用的方式。
无论如何,原始代码中的问题是or
的优先级较低,因此就Python而言,它的最终结果为
(or
(begin != "Z")
("z")
)
和"z"
总是真实的。