Задача курса

Go if и switch: несколько значений в одной ветке

Курс «Golang с нуля» · урок «Ветвление: if и switch»

Условие

Зона железнодорожного билета

Небольшой билетный автомат, установленный на перроне, обслуживает несколько направлений городской электрички. Все они заранее распределены по зонам в зависимости от удалённости от начальной точки маршрута: самые ближние станции образуют ближнюю зону, чуть дальше расположены станции средней зоны, а конечные точки сети — самые отдалённые — относятся к дальней зоне. Каждая зона объединяет ровно два направления, и это соответствие строго зафиксировано внутри системы.

Когда пассажир подходит к автомату, ему достаточно назвать направление и указать, сколько билетов ему нужно. Автомат принимает направление одним словом и число, после чего мгновенно определяет, к какой зоне оно относится. Если пассажир ошибся с направлением или ввёл что-то, чего автомат не знает, система сообщает об этом напрямую, не оставляя запрос без ответа. Точно так же автомат реагирует на явно некорректное число билетов — нулевое или отрицательное значение здесь не имеет смысла и тоже требует отдельной реакции.

На экране в итоге появляется ровно одна строка: либо название зоны, к которой принадлежит выбранное направление, либо сообщение о том, что количество билетов задано неверно, либо уведомление о нераспознанном направлении. Именно такой лаконичный и однозначный ответ должна формировать программа в каждом из возможных случаев.

Формат ввода

Направление одним словом и целое количество билетов. Регистр букв имеет значение.

Правила вывода

Сначала проверьте количество билетов через if. Для неположительного количества выведите Ошибка: количество билетов. Иначе определите результат через switch:

  • Лесная или Речная — Ближняя зона;
  • Центр или Музей — Средняя зона;
  • Аэропорт или Вокзал — Дальняя зона;
  • любое другое направление — Неизвестное направление.

Выведите ровно одну строку.

Примеры

Пример 1

Ввод
Лесная 2
Ожидаемый результат
Ближняя зона

Попробуйте решить

РешениеGo
Без регистрации · результат не сохраняется