Закрытые и полуоткрытые
Часть раздела Логика и управление потоком путешествия по Swift на Coddy — урок 7 из 56.
В Swift есть два оператора диапазона, которые выглядят почти одинаково, но означают разные вещи.
a...b — это закрытый диапазон. Он включает b:
for i in 1...3 { print(i) }
// 1
// 2
// 3a..<b — это полуоткрытый диапазон. Он останавливается перед b:
for i in 1..<3 { print(i) }
// 1
// 2Полуоткрытый диапазон — это естественный выбор, когда у вас есть количество: 0..<arr.count охватывает каждый допустимый индекс массива. Используйте закрытый диапазон, когда оба конца являются реальными значениями, которые вам важны (например, диапазон баллов или включающая граница оценки).
Задание
ЛегкоПрочитайте два целых числа (две строки): a и b, где a <= b. Выведите три строки:
- Значения в закрытом диапазоне
a...b, объединенные через,в одной строке - Значения в полуоткрытом диапазоне
a..<b, объединенные через,(или пустую строку, если диапазон пуст) - Сумму всех значений в закрытом диапазоне
Для входных данных 1 затем 5, вывод будет следующим:
1,2,3,4,5
1,2,3,4
15Шпаргалка
Операторы диапазона в Swift:
a...b— закрытый диапазон, включает иa, иba..<b— полуоткрытый диапазон, включаетa, но останавливается передb
for i in 1...3 { print(i) } // 1, 2, 3
for i in 1..<3 { print(i) } // 1, 2Используйте 0..<arr.count, чтобы охватить каждый допустимый индекс массива. Используйте закрытые диапазоны, когда обе конечные точки являются значимыми значениями.
Попробуйте сами
let a = Int(readLine()!)!
let b = Int(readLine()!)!
// TODO: вывести элементы закрытого диапазона через разделитель, элементы полуоткрытого диапазона через разделитель, сумму закрытого диапазона
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Строки в деталях
Подсчет и индексыРегистр и удаление пробеловПоиск в строкахРазделение и объединениеЗамена подстрокИтоги — Проверка имени пользователя4Множества
Создание множествОбъединение и пересечениеРазность и симметрическая разностьПодмножество и надмножествоИтоги — Фильтр тегов7Проект — Трекер привычек
Обзор проектаОтметить выполнение10Проект — Движок викторины
Обзор проектаЗадаем вопросы2Диапазоны и шаги
Закрытые и полуоткрытыеШагМетоды диапазоновДиапазоны в SwitchИтоги: Сетка календаря