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), "$")