我是 Python 的新手,我想知道是否有更优雅的方式来表达以下 if 条件:
a=0
b=0
c=0
d=0
e=0
f=0
if a!=0 and c!=0 and b==0 and d==0 and e==0 and f==0:
print("Hello World!")
这是一个简单的玩具示例,但实际上我有超过 6 个字母,事情变得非常困惑。
最佳答案
您的情况基本上分为两部分:
- 一些变量集全为零
- 一些变量集都是非零的
然后列出两个列表:
should_be_zero = [b, d, e, f]
should_be_nonzero = [a, c]
然后您可以将您的条件重新表达为:
all(i == 0 for i in should_be_zero) and all(i != 0 for i in should_be_nonzero)
如评论中所述,由于我们讨论的是零/非零整数,因此以上内容等同于
not any(should_be_zero) and all(should_be_nonzero)
关于python - 如果条件不那么困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49086873/