Menu
Coddy logo textTech

Switch с диапазонами

Часть раздела Основы путешествия по Swift на Coddy. Урок 30 из 86.

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

let score = 85

switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 70..<80:
    print("C")
case 60..<70:
    print("D")
default:
    print("F")
}

Оператор ... создает закрытый диапазон, который включает обе конечные точки, поэтому 90...100 соответствует значениям от 90, 91 и до 100 включительно. Оператор ..< создает полуоткрытый диапазон, который исключает верхнюю границу — 80..<90 соответствует значениям от 80 до 89.

Swift проверяет каждый вариант по порядку и выполняет первый совпавший. Так как наш score равен 85, он попадает в диапазон 80..<90, поэтому выводится "B". Этот подход гораздо чище, чем написание множества условий else if с операторами сравнения.

challenge icon

Задание

Легко

Напишите функцию getAgeCategory, которая принимает age и возвращает категорию этапа жизни на основе возрастных диапазонов.

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

Условия:

  • 0...2 - верните "Infant"
  • 3...12 - верните "Child"
  • 13...19 - верните "Teenager"
  • 20...64 - верните "Adult"
  • 65...120 - верните "Senior"
  • Любое другое значение - верните "Invalid age"

Параметры:

  • age (Int): Возраст человека

Возвращает: Категорию этапа жизни в виде String

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

func getAgeCategory(age: Int) -> String {
    // Напишите код здесь
}
quiz iconПроверьте себя

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

Все уроки раздела Основы

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