Menu
Coddy logo textTech

Кортежи

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

В то время как массивы хранят несколько значений одного типа, иногда вам нужно сгруппировать несколько связанных значений разных типов вместе. Именно здесь на помощь приходят кортежи.

Кортеж — это фиксированный набор значений, которые могут иметь разные типы. Вы создаете его, помещая значения в круглые скобки через запятую:

let person = ("Alice", 25, true)
print(person)  // ("Alice", 25, true)

Для доступа к отдельным значениям используйте их индекс через точку:

let coordinates = (10.5, 20.3)
print(coordinates.0)  // 10.5
print(coordinates.1)  // 20.3

Вы также можете давать элементам имена для лучшей читаемости:

let product = (name: "Laptop", price: 999.99)
print(product.name)   // Laptop
print(product.price)  // 999.99

Ещё одна полезная возможность — декомпозиция кортежа на отдельные переменные:

let point = (3, 7)
let (x, y) = point
print(x)  // 3
print(y)  // 7

Кортежи идеально подходят для возврата нескольких значений из функции или группировки небольших объемов связанных данных без создания полноценной структуры.

challenge icon

Задание

Легко

Вы получите три строки входных данных:

  1. Имя (String)
  2. Возраст (Int)
  3. Балл (Double)

Создайте кортеж с именем student с именованными элементами: name, age и score.

Затем разложите кортеж на три отдельные переменные: studentName, studentAge и studentScore.

Выведите следующие три строки:

  1. Имя студента, полученное через именованный элемент
  2. Возраст студента, полученный через индекс (точечная нотация с числом)
  3. Переменную с разложенным значением балла

Пример: Если входные данные — Emma, 21 и 95.5, ваш вывод должен быть:

Emma
21
95.5

Шпаргалка

Кортеж (tuple) — это фиксированная коллекция значений, которые могут иметь разные типы. Создайте его, используя круглые скобки со значениями, разделенными запятыми:

let person = ("Alice", 25, true)

Доступ к элементам кортежа осуществляется по индексу с использованием точечной нотации:

let coordinates = (10.5, 20.3)
print(coordinates.0)  // 10.5
print(coordinates.1)  // 20.3

Присваивайте имена элементам кортежа для лучшей читаемости:

let product = (name: "Laptop", price: 999.99)
print(product.name)   // Laptop
print(product.price)  // 999.99

Разложите кортеж на отдельные переменные:

let point = (3, 7)
let (x, y) = point
print(x)  // 3
print(y)  // 7

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

// Чтение входных данных
let name = readLine()!
let age = Int(readLine()!)!
let score = Double(readLine()!)!

// TODO: Напишите свой код ниже
// 1. Создайте кортеж с именем 'student' с именованными элементами: name, age и score
// 2. Разложите кортеж на три отдельные переменные: studentName, studentAge и studentScore
// 3. Выведите имя студента, используя именованный элемент (student.name)
// 4. Выведите возраст студента, используя индексную нотацию (student.1)
// 5. Выведите разложенную переменную оценки (studentScore)
quiz iconПроверьте себя

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

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