Ввод и вывод данных в 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(). Обрати внимание на \(имя) — это интерполяция строк, с помощью которой мы вставляем значения переменных прямо в текст.
Полезные советы
- Всегда проверяй, что ввел пользователь. Если он ошибся, программа может работать неправильно.
- Используй понятные названия переменных, чтобы код было легко читать.
- Не бойся экспериментировать — меняй текст вопросов и ответов, добавляй новые переменные.
Ты научился главному: программа может спрашивать у пользователя информацию, запоминать её и показывать результат. Это основа всех интерактивных приложений!