Soo*_*ole 11 python arguments if-statement function conditional-statements
所以我在python 3.1.5中编写了一些代码,要求有一个以上的条件才能发生.例:
def example(arg1, arg2, arg3):
if arg1 == 1:
if arg2 == 2:
if arg3 == 3:
print("Example Text")
Run Code Online (Sandbox Code Playgroud)
问题是,当我这样做时,如果arg2和arg3等于0,那么它不会打印任何东西.帮助?
SSu*_*710 20
我会用
def example(arg1, arg2, arg3):
if arg1 == 1 and arg2 == 2 and arg3 == 3:
print("Example Text")
Run Code Online (Sandbox Code Playgroud)
的and操作者是相同的具有相同名称的逻辑门; 当且仅当所有输入都是1时,它将返回1. or如果您想要逻辑门,也可以使用运算符.
编辑:实际上,你的帖子中提供的代码与我一起工作正常.我没有看到任何问题.我认为这可能是你的Python的问题,而不是实际的语言.
达里安·穆迪(Darian Moody)在他的博客文章中提出了一个很好的解决方案:
a = 1
b = 2
c = True
rules = [a == 1,
b == 2,
c == True]
if all(rules):
print("Success!")
Run Code Online (Sandbox Code Playgroud)
True当给定的iterable中的所有元素都为true时,all()方法将返回。如果不是,则返回False。
你可以阅读一点点在Python文档更多关于它在这里和更多的信息和例子在这里。
(我在这里也用此信息回答了类似的问题- 如何在python中为一个if语句设置多个条件)