我是一个 1 周自学 python3 的人,我喜欢比较和布尔运算符并学习这个:
True and True True
True and False False
False and True False
False and False False
所以,我打电话
print(3 < 4) and (6 < 5)
True + False
那么,为什么我得到
True
?
我已经尝试了所有其他试图犯类似错误的布尔值,改变了我输入这个 (
<
) 符号的方式,在 python tutor 中输入了这一行,结果是一样的,让我觉得 6 是次要的,然后是 5 一些怎么样,所以我想我不是在看我应该看什么,知道答案会很尴尬。谢谢。
因为你没有打印
(3 < 4) and (6 < 5)
,所以你正在打印3 < 4
.
调用函数时,您可能还记得使用括号为函数提供参数。例如:
print("Hello world")
将打印
Hello World
,因为这是提供给它的参数。
类似地,当您使用
print
调用 3 < 4
函数时 – 这个表达式实际上是正确的。
当你说:
a and b
Python 检查
a
和 b
是否都为真。所以如果你这样做:
print(3 < 4) and (6 < 5)
a = print(3 < 4)
和b = (6 < 5)
False
你说表达式的计算结果为
True
。但这实际上是不正确的。表达式的计算结果为 False
因为 (6 < 5)... but you only print out 3 < 4
.
Python 被创建为一种简单、干净和可读的语言。通过向代码中添加不必要的符号和标记,您可以混淆代码。这会导致代码可读性降低,并可能导致许多错误,例如您的错误。
总是避免在不需要的地方使用括号。你可以通过写来完成同样的事情:
print(3 < 4) and 6 < 5
但是,您的意思完全不同。你的意思是写:*
print(3 < 4 and 6 < 5)