有时在编写应用程序和程序的代码时,在某些情况下,我希望如果语句满足其全部条件中的一定条件后就可以工作?
如以下内容:
if (a>b andor a<c andor a==d): #if only 66% of the conditions are met
print("Conditions have been met")
如果有关于主题/想法的任何信息,欢迎您的帮助!
编辑:如u / schwobaseggl所指出的,您甚至不需要转换为int
:
if sum([a > b, a < c, a == d]) >= 2:
print("Conditions have been met")
if sum(map(int, [a > b, a < c, a == d])) >= 2:
print("Conditions have been met")
这将创建一个布尔列表,其中包含每个值的结果,然后将它们全部转换为,1
如果它们是True
或0
if False
,则将整个列表求和,从而得到True条件的数量。
请注意,这不会短路,即使True
列表的第一部分中有足够的条件可以忽略其余条件,它仍将评估所有条件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句