Python:如果条件语句无法输出我期望的结果

时间:2019-01-10 18:59:36

标签: python conditional

我一直在研究这段代码:

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”。而是显示“正在启动!”这似乎很违反直觉。谁能找到我的问题所在?

1 个答案:

答案 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"总是真实的。