括号如何改变输出是真还是假?

0 python

问题是在我的 python 初学者课程中为每个表达式添加一对括号,以便它的计算结果为 True。0 == 1 == 2

给出的答案是 ( 0 == (1==2)) 答案中是否仍然是错误的,因为 1 不等于 2 并且 0 不等于其中任何一个

Sil*_*olo 5

0 == 1 == 2
Run Code Online (Sandbox Code Playgroud)

这是一个链式比较,相当于

0 == 1 and 1 == 2
Run Code Online (Sandbox Code Playgroud)

这两种说法都不是真的,所以整件事都是假的。这是你想象的行为。

0 == (1 == 2)
Run Code Online (Sandbox Code Playgroud)

不是链式比较。这是数字(零)与布尔值 ( 1 == 2) 的比较。我们知道1 == 2是假的,所以这相当于

0 == False
Run Code Online (Sandbox Code Playgroud)

而且,在 Python 中,0andFalse是(大部分)同义词,关键是它们比较相等。

True
Run Code Online (Sandbox Code Playgroud)