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 до 100 включительно. Оператор ..< создаёт полуоткрытый диапазон, не включающий верхнюю границу: 80..<90 соответствует числам от 80 до 89.
Swift проверяет каждый вариант по порядку и выполняет первый подходящий. Поскольку наша оценка равна 85, она попадает в диапазон 80..<90, поэтому выводится «B». Такой подход гораздо чище, чем запись нескольких условий else if с операторами сравнения.
Задание
ЛегкоНапиши функцию 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 {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: простая математикаОператоры сравнения7Основы ввода-вывода
Функция printИнтерполяция строкВвод с ReadLineПреобразование типовПовторение: до 120Повторение: истина или ложь2Переменные
Let и VarАннотации типовЧислаСтрокаЛогический типСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор разделения счёта
Приветственное сообщениеВвод данных14Массивы: продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опциональные значения
Что такое опциональные значенияИзвлечение значения с помощью if letGuard letОператор объединения с nilПовторение — безопасное извлечение значения6Принятие решений
Условный оператор ifIf — ElseПовторение: простой калькуляторОператор switchSwitch с диапазонами9Циклы
Цикл for-inЦикл whileЦикл repeat-whileПрерывание циклаПереход к следующей итерацииПовторение — факториалДиапазоны в циклахВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Swift