У меня есть логическое выражение, использующее and
& or
, чтобы определить, верно это или нет. Результат должен быть false
, но возвращается true
. Почему это? Что я могу сделать, чтобы сделать фактический вывод реальным ответом.
Если я закомментирую последний раздел (or nighttime==False
), он даст мне правильный ответ, но это то, что мне нужно включить, и нет смысла делать это and
, потому что яхотите, чтобы при выключенных фарах можно было ездить только днем или ночью.
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=True
can_drive=battery_charged==True and got_car==True and drunk==False and gas*mpg>=distance==True and headlights_out==False or nighttime==False
print(can_drive)
if can_drive==True:
print("Drive home.")
else:
print("Do not drive home.")
Должно быть напечатано значение False, так как газа недостаточно для того, чтобы добраться до дома на полную дистанцию, но он печатает true.