Menu
Coddy logo textTech

Закрытые и полуоткрытые

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

В Swift есть два оператора диапазона, которые выглядят почти одинаково, но означают разные вещи.

a...b — это закрытый диапазон. Он включает b:

for i in 1...3 { print(i) }
// 1
// 2
// 3

a..<b — это полуоткрытый диапазон. Он останавливается перед b:

for i in 1..<3 { print(i) }
// 1
// 2

Полуоткрытый диапазон — это естественный выбор, когда у вас есть количество: 0..<arr.count охватывает каждый допустимый индекс массива. Используйте закрытый диапазон, когда оба конца являются реальными значениями, которые вам важны (например, диапазон баллов или включающая граница оценки).

challenge icon

Задание

Легко

Прочитайте два целых числа (две строки): a и b, где a <= b. Выведите три строки:

  1. Значения в закрытом диапазоне a...b, объединенные через , в одной строке
  2. Значения в полуоткрытом диапазоне a..<b, объединенные через , (или пустую строку, если диапазон пуст)
  3. Сумму всех значений в закрытом диапазоне

Для входных данных 1 затем 5, вывод будет следующим:

1,2,3,4,5
1,2,3,4
15

Шпаргалка

Операторы диапазона в Swift:

  • a...bзакрытый диапазон, включает и a, и b
  • a..<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: вывести элементы закрытого диапазона через разделитель, элементы полуоткрытого диапазона через разделитель, сумму закрытого диапазона
quiz iconПроверьте себя

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

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