我正在尝试使之成为两个或更多变量为False的语句结束;但是我这样做的方式是,代码占用了太多的空间。
if g == False and h == False:
print("Use a different formula.")
return
elif g == False and i == False:
print("Use a different formula.")
return
elif g == False and c == False:
print("Use a different formula.")
return
elif h == False and i == False:
print("Use a different formula.")
return
elif h == False and c == False:
print("Use a different formula.")
return
elif i == False and c == False:
print("Use a different formula.")
return
elif g == False and h == False and i == False:
print("Use a different formula.")
return
elif g == False and h == False and c == False:
print("Use a different formula.")
return
elif h == False and i == False and c == False:
print("Use a different formula.")
return
elif c == False and i == False and g == False:
print("Use a different formula.")
return
elif g == False and h == False and i == False and c == False:
print("Use a different formula.")
return
这就是我所拥有的,从技术上讲应该可以使用,但是必须有一种方法可以缩短它。请帮忙。
答案 0 :(得分:9)
Python的布尔值True
和False
可以算术上分别视为整数1
和0
。因此,如果将它们加在一起并且结果小于或等于2,则至少两个必须为false。
if g + h + c + i <= 2:
...
正如@MadPhysicist在评论中指出的那样,这是有效的,因为bool
是int
的子类。