我是一个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一些如何,所以我认为我没有在看我应该看什么,它将是尴尬的知道答案。谢谢。
1条答案
按热度按时间5ssjco0h1#
因为您没有打印
(3 < 4) and (6 < 5)
,所以您正在打印3 < 4
。首先:您正在调用print函数
调用函数时,您可能还记得使用括号为函数提供参数。例如:
将打印
Hello World
,因为这是提供给它的参数。类似地,当您使用
3 < 4
调用print
函数时-此表达式实际上为true。第二:布尔表达式格式错误
当你说:
Python检查
a
和b
是否都为true。所以如果你这样做:a = print(3 < 4)
和b = (6 < 5)
第三:你错了:表达式的计算结果为
False
你说表达式的计算结果是
True
。但这实际上是不正确的。表达式的计算结果为False
,因为(6 < 5)...但你只能打印出3 < 4
。第四:不需要括号
Python是一种简单、干净、可读的语言。通过向代码中添加不必要的符号和标记,可以混淆代码。这会导致代码可读性较差,并可能导致许多错误,比如你的错误。
不要在不需要的地方使用括号。你也可以通过写作来完成同样的事情:
但你的意思完全不同。你的意思是:*