Ввод и вывод данных
Важной частью любой программы являются операции ввода-вывода: получение данных от пользователя и отправка результатов обратно. Без этих механизмов невозможно создать полноценное приложение, взаимодействующее с человеком. В Python для этих целей существуют две основные встроенные функции: print()
– для вывода данных на экран, и input()
- для получения данных от пользователя.
Вывод данных
Уже используемая нами функция print()
– одна из наиболее используемых функций в Python, позволяющая выводить различные объекты на экран.
Функция | print(*objects , sep=" ", end="\n") |
Описание | Выводит все элементы objects , разделяя их строкой sep , и завершая вывод строкой end . |
Параметры | *objects – один или несколько объектов, которые необходимо вывестиНеобязательные параметры: sep – строка-разделитель между объектами, по умолчанию (пробел)end – строка, которая добавляется в конце вывода, по умолчанию end="\n" (перевод на новую строку). |
На экран можно вывести любые допустимые типы данных: числа, строки, значения переменных и даже результаты различных выражений:
message = "Купи хлеб"
print(message)
# Вывод: Купи хлеб
print(15 * 2)
# Вывод: 30
Для вывода нескольких значений в одной строке достаточно перечислить их через запятую:
print(1, 2, 3)
# Вывод: 1, 2, 3
print("3 в квадрате равно", 3 ** 2)
# Вывод: 3 в квадрате равно 9
По умолчанию все объекты разделяются пробелом, а в конце добавляется символ переноса строки \n
, поэтому каждый следующий вызов функции print()
выводит данные на новой строке. Однако такое поведение можно изменить с помощью параметров sep
(от англ. separator – разделитель) и end
(от англ. – конец).
При изменении параметра sep
все значения разделяются между собой его значением, а не пробелом. В качестве разделителя можно передать любую строку:
print(1, 2, 3, sep=" | ")
# Вывод: 1 | 2 | 3
print("Ручка", "Карандаш", "Линейка", sep="_")
# Вывод: Ручка_Карандаш_Линейка
print("x", "y", "z", sep="\t")
# Вывод: x y z
Параметр end
позволяет менять завершение строки, например, чтобы следующий вывод шел сразу за предыдущим:
print("Сегодня идёт дождь", end=", ")
print("нужно взять зонт")
Тогда в результате на экран будет выведено:
Сегодня идёт дождь, нужно взять зонт
Без изменения значения параметра end
вывод выглядел бы следующим образом:
Сегодня идёт дождь
нужно взять зонт
Ввод данных
Получение данных от пользователя осуществляется функцией input()
. Она принимает одно необязательное строковое сообщение, которое отображается перед вводом, и возвращает строку, введённую пользователем.
Функция | input(help) |
Описание | Возвращает строку, введённую пользователем |
Параметры | Необязательные параметры:help – cтрока-подсказка, которая отображается перед ожиданием ввода |
Возвращаемое значение | Строка |
Когда программа доходит до вызова input()
, она приостанавливает свое выполнение и ждет, пока пользователь введет текст и нажмет клавишу Enter.
Например, можно попросить пользователя ввести его имя, а затем вывести приветствие:
name = input("Пожалуйста, введите своё имя: ")
print(f"Здравствуй, дорогой друг {name}!")
# Вывод: Пожалуйста, введите своё имя:
# Ввод: Бильбо
# Вывод: Здравствуй, дорогой друг Бильбо!
Независимо от введённых данных, функция input()
всегда возвращает строку. Чтобы продолжить работу с введёнными данными, как с числами, их нужно привести их к нужному типу с помощью функций преобразования, таких как int()
или float()
:
n1 = int(input())
n2 = int(input())
print(f"Сумма чисел {n1} и {n2} равна {n1 + n2})
# Ввод: 2
# Ввод: 3
# Вывод: Сумма чисел 2 и 3 равна 5
Функции input()
и print()
часто используются вместе для создания интерактивных программ, которые запрашивают у пользователя данные, которые обрабатывают и отображают результаты:
name = input("Введите ваше имя: ")
print(f"Привет, {name}!")
# Вывод: Введите ваше имя:
# Ввод: Феодосия
# Вывод: Привет, Феодосия!
1. Что будет выведено на экран в результате выполнения данного кода?
print("\"Хлеб", "молоко", "колбаса", sep=", ", end=" ")
print("и что-то ещё", "вспоминал в магазине Иван", sep=", - ", end=", - ")
print("наверное", "ещё конфеты\"", sep=", ")
2. В следующих переменных хранятся личные данные пользователя:
name = "Пьер"
last_name = "Безухов"
Вставьте значения этих переменных в строку так, чтобы в результате на экран было выведено:
Добрый вечер, дорогой Пьер Безухов!
3. Напишите программу, которая запрашивает у пользователя название фильма, и затем выводит его на экран со словами "Мне тоже нравится фильм {название}"
.
Пример входных данных | Пример выходных данных |
---|---|
Звёздная пыль | Мне тоже нравится фильм "Звёздная пыль"! |
Хроники Нарнии: Принц Каспиан | Мне тоже нравится фильм "Хроники Нарнии: Принц Каспиан"! |
Тор | Мне тоже нравится фильм "Тор"! |
4. Какой тип данных возвращает функция input()
?
5. Напишите программу, которая запрашивает у пользователя два целых числа, и затем выводит на экран их сумму в виде строки.
Пример входных данных | Пример выходных данных |
---|---|
1 2 |
1 + 2 = 3 |
10 12 |
10 + 12 = 22 |
34 6 |
34 + 6 = 40 |