如何在python中为一个if语句设置多个条件

新手上路,请多包涵

所以我在 python 3.1.5 中编写了一些代码,要求有多个条件才能发生。例子:

 def example(arg1, arg2, arg3):
    if arg1 == 1:
        if arg2 == 2:
            if arg3 == 3:
                print("Example Text")

问题是,当我这样做时,如果 arg2 和 arg3 不等于 0,它不会打印任何内容。帮助?

原文由 SooBaccaCole 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

我会用

def example(arg1, arg2, arg3):
     if arg1 == 1 and arg2 == 2 and arg3 == 3:
          print("Example Text")

and 运算符与同名逻辑门相同;当且仅当所有输入均为 1 时,它将返回 1。如果您想要该逻辑门,也可以使用 or 运算符。

编辑:实际上,您帖子中提供的代码对我来说很好。我看不出有什么问题。我认为这可能是您的 Python 的问题,而不是实际的语言。

原文由 SSung2710 发布,翻译遵循 CC BY-SA 4.0 许可协议

Darian Moody 在他的 博客文章 中针对这一挑战提供了一个很好的解决方案:

 a = 1
b = 2
c = True

rules = [a == 1,
         b == 2,
         c == True]

if all(rules):
    print("Success!")

all() 方法返回 True 当给定的可迭代对象中的所有元素都为真时。如果不是,则返回 False

您可以在此处的 python 文档中阅读 更多 相关信息,并 此处 阅读更多信息和示例。

(我在这里也用这个信息回答了类似的问题 ——How to have multiple conditions for one if statement in python

原文由 burkesquires 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题