所以我只是在查看一些我必须解释一段代码的问题,我偶然发现了这个问题:
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语句。什么是&#34;真与假&#34;或&#34; True&#34;指的是,之前的陈述?感谢
答案 0 :(得分:0)
首先,在最后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")