Kof*_*611 3 python boolean python-3.x
我试图做到这一点,如果两个或多个变量为 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
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的,从技术上讲它应该可以工作,但必须有一种方法来缩短它。请帮忙。
Python 的布尔值True和False可以分别作为整数1和算术处理0。所以如果你把它们加在一起,结果小于或等于2,那么至少有两个一定是假的。
if g + h + c + i <= 2:
...
Run Code Online (Sandbox Code Playgroud)
正如@MadPhysicist 在评论中指出的那样,这是有效的,因为它bool是int.