python多个变量if condition
作者:互联网
我是编程的新手,想在Python中询问我是否有一个m-list的条件,并想知道在if语句中是否有n个为真:
例如:
if (a == b) or (c == d) or (e == f):
将返回1,2或全部3,但我想知道其中只有2个是真的
例如:
if ((a == b) and ((c == d) or (e == f))) or (((a == b) or (c == d)) and (e == f)) or (((a == b) or (e == f)) and (c == d)):
有没有更简单的方法来做到这一点?如果(m,n)很大,该怎么办?
谢谢
解决方法:
因为True实际上是整数1,所以你可以这样做
if (a==b) + (c==d) + (e==f) == 2:
对于更大的条件集,可以使用sum():
conditions = [a==b, c==d, d==e, f==g, ...]
if sum(conditions) == 3:
# do something
标签:python,combinatorics 来源: https://codeday.me/bug/20190715/1466485.html