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 с операторами сравнения.
Задание
ЛегкоНапишите функцию 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Повторение — True или False10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияМетки аргументовПовторение: функция SigmaПовторение: функция валидацииЗначения по умолчанию13Итерирование по последовательностям
Итерирование по элементамМетод enumerateИтерирование по строкам, ч. 1Итерирование по строкам, ч. 22Переменные
Let против VarАннотации типовЧислаСтрокиBooleanСоглашения об именованииИтоги — Инициализация переменных5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение: простая логикаЛогические операторы. Часть 3Тернарный оператор8Калькулятор разделения счета
Приветственное сообщениеПолучение ввода14Массивы: Продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опционалы
Что такое опционалыРазвертывание с помощью if letGuard letОператор объединения с nilИтоги — безопасное развертывание6Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторОператор SwitchSwitch с диапазонами9Циклы
Цикл For-InЦикл WhileЦикл Repeat-WhileBreakContinueПовторение: ФакториалДиапазоны в циклахВложенные циклыПовторение: Динамический вводПотренируйтесь самостоятельно: Песочница Swift