Функции print() и input(): в Python

Ввод и вывод данных важные процессы в программировании. Программы без ввода делали бы одно и то же, за исключением тех случаев, когда они сами генерируют случайные значения. Благодаря вводу можно увидеть, использовать и передать результат работы программы.

Часто требуется, чтобы программа обрабатывала определенный диапазон разных входных данных, поступающих в нее из внешних источников: файлы, сеть, клавиатура, выходные данные из какой-то другой программы. Также вывод данных возможен в файлы. Но в большинстве случаев это осуществляется на экран компьютера.

Программа представляет собой открытую систему, которая обменивается чем-то с внешней средой. Это может быть информация и данные.

Вывод данных. Функция print()

Подробнее о функции print() поговорим ниже, а пока будем рассматривать ее как команду языка Python, которая выводит на экран то, что находится в ее скобках:

>>> print(1032)

1032

>>> print(2.34)

2.34

>>> print(«Hello»)

Hello

Заключить в скобки можно разные типы данных. К тому же, количество данных тоже может отличаться:

>>> print(«a:», 1)

a: 1

>>> one = 1

>>> two = 2

>>> three = 3

>>> print(one, two, three)

1 2 3

В функцию print() можно передавать как литералы (в нашем примере «a:» и 1), так и переменные (будут выводиться их значения). Аргументы функции в скобках разделяются запятыми. Вместо запятых в выводе значения разделены пробелом.

Если в скобках находится выражение, то оно выполняется первым, после чего print() выводит его результат:

>>> print(«hello» + » » + «world»)

hello world

>>> print(10 — 2.5/2)

8.75

Также print() может содержать дополнительные параметры. К примеру, через параметр sep указывается разделитель строк, отличный от пробела:

>>> print(«Mon», «Tue», «Wed», «Thu»,

… «Fri», «Sat», «Sun», sep=»-«)

Mon-Tue-Wed-Thu-Fri-Sat-Sun

>>> print(1, 2, 3, sep=»//»)

1//2//3

Что делать после вывода строки можно указать с помощью параметра end. По умолчанию осуществляется переход на новую строку. Но такое действие можно отменить, указав другую строку или символ:

>>> print(10, end=»»)

10>>>

Часто в сочетании с функцией print() используется форматирование строк. Оно может выполнятся в старом стиле (Си-стиль) или посредством строкового метода. Приведем пример:

>>> pupil = «Ben»

>>> old = 16

>>> grade = 9.2

>>> print(«It’s %s, %d. Level: %f» %

… (pupil, old, grade))

It’s Ben, 16. Level: 9.200000

В примере вместо 3-х комбинаций символов %s, %d, %f подставляются значения переменных pupil, old, grade. При этом s, d, f обозначают типы данных, а именно строку, целое число и вещественное число. Если бы нужно было представить 3 строки, то использовалось бы только сочетание %s.

В качестве значение переменной grade указано число 9.2, но на экран оно бы вывелось с дополнительными нулями. Но есть возможность задать, сколько нужно знаков после запятой, указав перед буквой f точку с необходимы числом знаков в доброй части.

>>> print(«It’s %s, %d. Level: %.1f»

… % (pupil, old, grade))

It’s Ben, 16. Level: 9.2

Пример метода format():

>>> print(«This is a {0}. It’s {1}.»

… .format(«ball», «red»))

This is a ball. It’s red.

>>> print(«This is a {0}. It’s {1}.»

… .format(«cat», «white»))

This is a cat. It’s white.

>>> print(«This is a {0}. It’s {1} {2}.»

… .format(1, «a», «number»))

This is a 1. It’s a number.

В фигурных скобках значатся номера данных, которые сюда подставляются. Затем к строке применяется метод format(), в скобках которого прописываются сами данные. Первый аргумент метода подставится на нулевое место, а на первое место – второй и так далее.

Ввод данных. Функция input()

Функция input() отвечает за ввод в программу данных с клавиатуры. Когда эта функция вызывается, программа останавливает выполнение и ждет, пока пользователь введет текст. После нажатия на кнопку Enter, функция input() забирает введенный текст, который передается программе. Программа обрабатывает его с учетом заложенных в нее алгоритмов.

>>> input()

Yes!

‘Yes!’

Введенные данные, которые передает функция input(), можно присвоить переменной. В таком случае интерпретатор не будет сразу же выводить строку:

>>> answer = input()

No, it is not.

В этом случае строка сохраняется в переменной answer, и при необходимости ее значение можно вывести на экран:

>>> answer

‘No, it is not.’

Используя функцию print() в выводе опускаются кавычки:

>>> print(answer)

No, it is not.

Пример использования функции input() в скриптах намного интереснее. Приведем пример:

Функции print() и input(): в Python

Использование функции input()

Во время запуска программы, компьютер ожидает, когда будет введена одна строка, после чего вторая. Строки присваиваются переменным nameUser и cityUser. Затем с помощью форматированного вывода значения этих переменных отобразятся на экране.

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

Функции print() и input(): в Python

Функция input() с аргументом-приглашением

Важно! В программу поступает строка. Функция input(), даже если указать число, все равно вернет его строковое представление. Как же быть в том случае, если необходимо получить число? Решение – прибегнуть к функциям преобразования типов.

Функции print() и input(): в Python

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

В примере строковое значение переменных qtyOranges и priceOrange с помощью функций int() и float() преобразуются в целое и вещественное число, соответственно. Затем тем же переменным будут присвоены численные значения.

Если выполнить преобразование типов в тех же строках, то код программы можно сократить:

qtyOranges = int(input(«Сколько апельсинов? «))

priceOrange = float(input(«Цена одного? «))

sumOranges = qtyOranges * priceOrange

print(«Заплатите», sumOranges, «руб.»)

Первой выполняется функция input(). Она возвращает строку, которую функция float() или int() моментально преобразует в число. После этого осуществляется присваивание переменной, т.е. она получает численное значение.

Остались какие-то вопросы или вы столкнулись со сложностями? Напишите нам в комментариях.

Один комментарий к “Функции print() и input(): в Python

  • 20.01.2021 в 02:56
    Постоянная ссылка

    Спасибо. Мне функция вывода данных print() помогла разобраться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *