编程语言
首页 > 编程语言> > python多个变量if condition

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