-3

所以我只是在查看一些我必须解释一段代码的问题,我偶然发现了这个:

a = 10
b = 4
c = 2
d = 3
if ((c+2<d)) or ((c*d)==(a-b)):
    if (True and not(True)) or True:
        print ("X")
    else:
        print("Y")
    print("Z")

我知道该语句的第一部分将评估为 False,而第二部分将评估为 True。我遇到的问题是关于解释下面的 if 语句。前面的陈述中的“真假”或“真”指的是什么?谢谢

4

1 回答 1

0

首先,在 last 之后需要一个右括号True

其次,第二个if语句将始终评估为True,因为or True部分。它不是任何东西。它只是使用 Python 内置的常量True

这是该代码的更正版本。它运行,但它没有完成任何重要的事情。它将始终打印“X”和“Z”。

a = 10
b = 4
c = 2
d = 3
if ((c+2<d)) or ((c*d)==(a-b)):
    if (True and not(True) or True):
        print ("X")
    else:
        print("Y")
    print("Z")
于 2014-10-18T19:35:15.943 回答