Menu
Coddy logo textTech

Диапазоны в Switch

Часть раздела Логика и управление потоком путешествия по Swift на Coddy. Урок 10 из 56.

В разделе по основам вы использовали switch с диапазонами. Этот же приём подходит для реальных задач классификации, где каждый случай охватывает диапазон значений.

let temp = 22
switch temp {
case ..<0:        print("freezing")
case 0..<10:      print("cold")
case 10..<20:     print("mild")
case 20..<30:     print("warm")
default:           print("hot")
// тепло

Первый case ..<0 использует форму one-sided диапазона: «любое значение, строго меньшее 0». Вы также можете использовать 0..., чтобы обозначить «0 или больше».

Варианты проверяются сверху вниз, и срабатывает первое совпадение, поэтому располагай их от меньшего к большему (или используй default для общего случая).

challenge icon

Задание

Новичок

Считай из ввода одно целое число: температуру в градусах Цельсия. Выведи одну из этих меток, используя один switch с диапазонами в ветвях:

  • Меньше 0 (отрицательные значения): freezing
  • 0...9: cold
  • 10...19: mild
  • 20...29: warm
  • 30...39: hot
  • 40 и выше: scorching

Для ввода 22 результатом будет warm.

Попробуйте сами

let temp = Int(readLine()!)!

// TODO: switch по temp с использованием диапазонов, выведи соответствующую метку
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Песочница Swift