Задача курса
Go if и switch: несколько значений в одной ветке
Курс «Golang с нуля» · урок «Ветвление: if и switch»
Условие
Зона железнодорожного билета
Небольшой билетный автомат, установленный на перроне, обслуживает несколько направлений городской электрички. Все они заранее распределены по зонам в зависимости от удалённости от начальной точки маршрута: самые ближние станции образуют ближнюю зону, чуть дальше расположены станции средней зоны, а конечные точки сети — самые отдалённые — относятся к дальней зоне. Каждая зона объединяет ровно два направления, и это соответствие строго зафиксировано внутри системы.
Когда пассажир подходит к автомату, ему достаточно назвать направление и указать, сколько билетов ему нужно. Автомат принимает направление одним словом и число, после чего мгновенно определяет, к какой зоне оно относится. Если пассажир ошибся с направлением или ввёл что-то, чего автомат не знает, система сообщает об этом напрямую, не оставляя запрос без ответа. Точно так же автомат реагирует на явно некорректное число билетов — нулевое или отрицательное значение здесь не имеет смысла и тоже требует отдельной реакции.
На экране в итоге появляется ровно одна строка: либо название зоны, к которой принадлежит выбранное направление, либо сообщение о том, что количество билетов задано неверно, либо уведомление о нераспознанном направлении. Именно такой лаконичный и однозначный ответ должна формировать программа в каждом из возможных случаев.
Формат ввода
Направление одним словом и целое количество билетов. Регистр букв имеет значение.
Правила вывода
Сначала проверьте количество билетов через if. Для неположительного количества выведите Ошибка: количество билетов. Иначе определите результат через switch:
ЛеснаяилиРечная—Ближняя зона;ЦентрилиМузей—Средняя зона;АэропортилиВокзал—Дальняя зона;- любое другое направление —
Неизвестное направление.
Выведите ровно одну строку.
Примеры
Пример 1
- Ввод
Лесная 2
- Ожидаемый результат
Ближняя зона
