布尔问题。与,或,或,或,或不

时间:2019-06-13 23:30:57

标签: python boolean

我正在尝试使用bool运行代码,但是在使代码正常工作时遇到了问题。基本上,我必须使用代码来确定满足特定条件后是否可以安全行驶。电池必须是充电器(真),我必须有汽车(真),我不能喝醉(假),我必须有足够的汽油才能到达目的地,如果是晚上,则必须上班头灯。到目前为止,我一直努力深入到加油站,但我似乎无法弄清在夜间或白天工作和不工作时头部行驶的“和”或“不”或“不”的说法。灯。

battery_charged=True
got_car=True
drunk=False
gas=2 # (gallons) # gas currently in the tank of the car
distance=100 # miles from home
mpg=35 # miles per gallon expected to be used driving home
nighttime=False
headlights_out=False

can_drive=(battery_charged and got_car and not drunk and \
               (gas*mpg>=distance) and (nighttime and not headlights_out))

if can_drive:
    print("Drive home")

else:
    print("Don't drive home.")

1 个答案:

答案 0 :(得分:1)

您的问题在最后一句:

and (nighttime and not headlights_out)

这表示您只能在大灯打开的夜晚开车。您需要说的是,如果是在夜间,则必须打开大灯。逻辑上最容易编写的等效代码是“必须是白天,否则我的头灯必须打开”:

and (not nighttime or not headlights_out):

那应该让你上路...