我正在尝试使用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.")
答案 0 :(得分:1)
您的问题在最后一句:
and (nighttime and not headlights_out)
这表示您只能在大灯打开的夜晚开车。您需要说的是,如果是在夜间,则必须打开大灯。逻辑上最容易编写的等效代码是“必须是白天,否则我的头灯必须打开”:
and (not nighttime or not headlights_out):
那应该让你上路...