Подскажите, правильно ли я понял и выполнил задание из учебника "Изучаем Python" Эрик Мэтиз

Как нужно/можно было выполнить задание 7.5 в соответствии с пройденной главой. Знаю что есть масса вариантов, но какие то усовершенствования не интересуют, т.к. эти варианты еще не изучены, хочется знать правильно ли я усваиваю материал или же использую топорные и банальные способы из других глав. (Глава 7 стр.128, задание стр.138) "Изучаем Python" Эрик Мэтиз

Здание: 7.5. Билеты в кино: кинотеатр установил несколько вариантов цены на билеты в зависимости от возраста посетителя. Для посетителей младше 3 лет билет бесплатный; в возрасте от 3 до 12 билет стоит $10; наконец, если возраст посетителя больше 12, билет стоит $15. Напишите цикл, который предлагает пользователю ввести возраст и выводит цену билета.

Что получилось у меня:

age = 'Введите свой возраст, чтобы узнать цену билета: '

while age:

    message = input(age)
    message = int(message)

    if message < 3:
        print("Стоимость билета 0 рублей")
        break
    elif message >=3 and message < 12:
        print("Стоимость билета 1000 рублей.")
        break
    else:
        print("Стоимость билета 1500 рублей.")
        break

Ответы (2 шт):

Автор решения: Fox Fox
print("-" * 50 + "\nПродажа билетов в кино:\n" + "-" * 50)

while True:

 ok = True
 age = input("\nУкажите свой возраст для того, чтоб узнать цену билета: ")
 try:
  age = abs(int(float(age.replace(",", "."))))
 except Exception as e:
  print(f"Указано ошибочное значение возраста! Попробуйте ещё раз! Подробнее: {e}")
  ok = False

 if ok:
  if age < 3: print("Билет бесплатен!")
  elif age >= 3 and age <= 12: print("Стоимость билета $10!")
  else: print("Стоимость билета $15!")
→ Ссылка
Автор решения: Danis
  1. как написали в комментариях, break стоит убрать.
  2. получение возврата можно записать красивее: age = int(input()) (и везде вместо message использовать age)
  3. во втором if'е можно убрать условие age >= 3`, т. к. оно следует из того, что первое условие не выполнилось.
  4. можно создать переменную cost, чтобы убрать повторения print'а.
message = "Введите свой возраст, чтобы узнать цену билета: "
while True:
    age = int(input(message))
   
    if age < 3:
        cost = 0
    elif age < 12:
        cost = 1000
    else:
        cost = 1500
    print(f"Стоимость билета {cost} рублей.")
→ Ссылка