10. Билеты в зоопарк. (в коде есть строки из следующих тем: "словари, функции").

(открыть в новой вкладке)

Условие:

В зоопарке цена входного билета зависит от возраста посетителя. Дети до двух лет допускаются бесплатно. Дети в возрасте от трех до 12 лет могут посещать зоопарк за $14,00. Пенсионерам старше 65 лет вход обойдется в $18,00, а обычный взрослый билет стоит $23,00.
Напишите программу, которая будет запрашивать возраст всех посетителей в группе (по одному за раз) и выводить общую цену билетов для посещения зоопарка этой группой. В качестве индикатора окончания ввода можно использовать пустую строку. Общую цену билетов стоит выводить в формате с двумя знаками после запятой.

Код:

def price(tickets, age):
    for a, b in tickets.items():
        if age in b:
            price = float(a.removesuffix("$"))
    return price


tickets = {
    "0$": range(0, 3),
    "12$": range(3, 13),
    "18$": range(65, 100),
    "23$": range(13, 65)
}

amount = 0
while True:
    age = input("%75s" % "Введите возраст посетителя (количество полных лет): ")
    if age == "":
        break
    try:
        age = int(age)
        amount += price(tickets, age)
    except:
        print("%74s" % "Введены некорректные данные.")
print("%74s" % "Общая цена билетов: ", round(amount, 2), "$")