Вы имеете в виду что-то подобное?Первый if
проверяет, является ли pay
значением "no"
, и пропускает остальную часть кода.Все в elif pay == "yes":
будет выполняться, только если pay
равно "yes"
.
if pay == "no":
discount = 0
elif pay == "yes":
if 100 <= firstBill < 200:
discount = (firstBill * 0.015)
elif 200 <= firstBill < 400:
discount = (firstBill * 0.03)
elif 400 <= firstBill < 800:
discount = (firstBill * 0.04)
elif firstBill >= 800:
discount = (firstBill * 0.05)
else:
print("error")
else:
print("error")
Кстати, вы можете связать операторы сравнения, такие как x < y < z
.Кроме того, ваш код печатает «ошибка» для точно 200 или точно 400 и так далее.Я предполагаю, что это было непреднамеренно и исправило это.
Вы также можете написать оператор if по-другому:
if pay == "yes":
if 100 <= firstBill < 200:
discount = (firstBill * 0.015)
elif 200 <= firstBill < 400:
discount = (firstBill * 0.03)
elif 400 <= firstBill < 800:
discount = (firstBill * 0.04)
elif firstBill >= 800:
discount = (firstBill * 0.05)
else:
print("error")
elif pay == "no":
discount = 0
else:
print("error")
И он будет работать точно так же.