首页 > 解决方案 > 如何在带有“and”和“or”的if语句中使用括号来使用“or”分隔两个选项。请参阅代码以供参考

问题描述

为什么不能使用带括号的 if 语句来分隔两个 or 选项,如下所示?我忽略了python程序的一些规则或复杂性吗?

if mass >= 2.6 and (sodium or nitrogen) <= 5:

标签: pythonif-statement

解决方案


我假设您有三个数字变量:质量、钠和氮,并且您想将它们与一些边界值进行比较。然后,您的条件应该看起来像“如果((质量> = 2.6)和((钠<= 5)或(氮<= 5))):”实际上,我认为您可以省略除AND之后的括号之外的所有内容及以下冒号。但是,我个人更喜欢明确地保留它们,以便您有一个清晰的分组(Python 指南可能不建议这样做,但可以)。

如果我做对了,你的错误是你试图在你的数值变量之间使用 OR,然后将结果与 5 进行比较,而你应该将每个变量与 5 进行比较,然后使用 OR 来处理你得到的布尔结果步骤1。


推荐阅读