🍎 Swift

Ввод и вывод данных в Swift 5.9: подробное руководство

Ввод и вывод данных в Swift

Что такое ввод и вывод и зачем это нужно?

Представь, что ты создаешь программу, которая общается с пользователем. Как ей узнать, что хочет человек? Для этого существует ввод данных — когда программа спрашивает что-то у пользователя и запоминает ответ. А вывод данных — это когда программа показывает результат своей работы на экране.

Без ввода и вывода программа была бы как калькулятор, который умеет считать только одно число. А с ними она становится интерактивной и полезной!

Основной синтаксис: как выводить текст

В Swift для вывода данных используется команда print(). Внутри скобок пишется то, что нужно показать на экране.

// Вывод простого текста
print("Привет, мир!")

// Вывод чисел
print(42)

// Вывод нескольких значений через запятую
print("Сегодня", "отличная", "погода")

Основной синтаксис: как вводить данные

Для ввода данных в Swift используется функция readLine(). Она читает строку, которую ввел пользователь с клавиатуры. Но есть одна хитрость: readLine() всегда возвращает текст, даже если пользователь ввел число. Поэтому если нам нужно число, мы должны его преобразовать.

// Простой ввод текста
print("Как тебя зовут?")
let имя = readLine()!
print("Привет, \(имя)!")

Обрати внимание на восклицательный знак ! после readLine(). Он говорит Swift: "Я уверен, что пользователь что-то ввел". Для начинающих это нормально, мы будем его использовать.

Преобразование строки в число

Когда пользователь вводит число, оно приходит как текст. Чтобы выполнять математические операции, нужно преобразовать текст в число с помощью Int() или Double().

print("Сколько тебе лет?")
let возрастТекст = readLine()!
let возраст = Int(возрастТекст)!
print("Через 5 лет тебе будет \(возраст + 5) лет")

Разбор типичных задач

Задача: определитель возраста

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

print("Введите год вашего рождения:")
let годРожденияТекст = readLine()!
let годРождения = Int(годРожденияТекст)!

print("Введите текущий год:")
let текущийГодТекст = readLine()!
let текущийГод = Int(текущийГодТекст)!

let возраст = текущийГод - годРождения
print("Ваш возраст: \(возраст) лет")

Задача: площадь прямоугольника

Программа запрашивает длину и ширину, а потом выводит площадь.

print("Введите длину прямоугольника:")
let длинаТекст = readLine()!
let длина = Double(длинаТекст)!

print("Введите ширину прямоугольника:")
let ширинаТекст = readLine()!
let ширина = Double(ширинаТекст)!

let площадь = длина * ширина
print("Площадь прямоугольника: \(площадь)")

Задача: периметр треугольника

Программа просит ввести три стороны треугольника и вычисляет периметр.

print("Введите первую сторону треугольника:")
let сторона1Текст = readLine()!
let сторона1 = Double(сторона1Текст)!

print("Введите вторую сторону треугольника:")
let сторона2Текст = readLine()!
let сторона2 = Double(сторона2Текст)!

print("Введите третью сторону треугольника:")
let сторона3Текст = readLine()!
let сторона3 = Double(сторона3Текст)!

let периметр = сторона1 + сторона2 + сторона3
print("Периметр треугольника: \(периметр)")

Частые ошибки новичков

  • Забыть восклицательный знак: readLine() без ! не даст текста, а "обертку". Всегда ставь ! если уверен, что будет ввод.
  • Не преобразовывать строку в число: Если написать let возраст = readLine()! + 5, Swift выдаст ошибку, потому что нельзя складывать текст и число.
  • Перепутать Int и Double: Int() для целых чисел (1, 2, 3), Double() для дробных (1.5, 3.14). Если в задаче могут быть копейки или сантиметры, используй Double.
  • Забыть вывести результат: Программа посчитала всё правильно, но ничего не показала. Всегда используй print() для вывода ответа.

Итоговый пример: "Уютное кафе"

Давай решим задачу про кафе. Программа спрашивает имя, напиток и размер порции, а затем выводит итоговый заказ.

print("Добро пожаловать в 'Уютное кафе'!")
print("Как вас зовут?")
let имя = readLine()!

print("Какой напиток желаете? (кофе, чай, какао)")
let напиток = readLine()!

print("Какой размер порции? (маленький, средний, большой)")
let размер = readLine()!

print("---")
print("Заказ принят!")
print("Имя: \(имя)")
print("Напиток: \(напиток)")
print("Размер: \(размер)")
print("Спасибо за заказ, \(имя)! Приятного аппетита!")

В этой программе мы используем три вызова readLine() для ввода имени, напитка и размера. Затем выводим всю информацию с помощью print(). Обрати внимание на \(имя) — это интерполяция строк, с помощью которой мы вставляем значения переменных прямо в текст.

Полезные советы

  • Всегда проверяй, что ввел пользователь. Если он ошибся, программа может работать неправильно.
  • Используй понятные названия переменных, чтобы код было легко читать.
  • Не бойся экспериментировать — меняй текст вопросов и ответов, добавляй новые переменные.

Ты научился главному: программа может спрашивать у пользователя информацию, запоминать её и показывать результат. Это основа всех интерактивных приложений!