Бесплатная доставка
Магазин доставляет заказы до двери покупателя. Доставка стоит $5, но заказы от $50 доставляются бесплатно. Это решение, поэтому понадобится условие. Поместите его в функцию, которая получает итог и возвращает стоимость доставки.
В функции может быть несколько return, и условие решает, какой из них выполнится. Например, билет для ребёнка младше 15 лет стоит $2, а для всех остальных $4:
def ticket_price(age):
if age < 15:
return 2
else:
return 4
print(ticket_price(10))
print(ticket_price(30))2
4Так как return завершает функцию, можно обойтись и без else: напишите второй return 4 под блоком if с таким же отступом, как у if. Он выполнится, только если первый не сработал.
Будьте внимательны с условием: $50 или больше — это total >= 50. С > покупатель с заказом ровно на $50 всё равно заплатил бы за доставку.
В print_receipt() стоимость доставки понадобится дважды: на отдельной строке и в сумме к оплате. Поэтому сохраните её в переменную, и функция будет вызываться только один раз. Пока наша корзина стоит $36, так что покупатель платит за доставку. В следующем упражнении корзина вырастет.
Задание
- 1
Под
cart_total()напишите функциюdelivery_price(total), которая возвращает0, еслиtotalравно50или больше, и5в остальных случаях. - 2
В
print_receipt()под строкой, которая считаетtotal, сохранитеdelivery_price(total)в переменнуюdelivery. Под строкой, которая печатает итог, напечатайте доставку и сумму к оплате — итог плюс доставка:Доставка: $5иК оплате: $41.