У программ обычно имеются входные и выходные данные. В этой главе вы узнаете, как вывести значения на экран и как получить значение от пользователя. В языке Python обе задачи решаются тривиально.
Чтобы вывести данные для пользователя, проще всего воспользоваться функцией print, которая записывает данные в стандартный вывод — поток, в который компьютер направляет выходные данные. Если вы работаете в терминале, то стандартный вывод направляется на терминал:
>>> print('Hello there')
Hello there
Чтобы вывести несколько значений, разделите их запятыми. Python автоматически вставляет пробелы между ними. При вызове функции print можно указывать строки и числа:
>>> print('I am', 10, 'years old')
I am 10 years old
Позднее в этой главе строки будут рассмотрены более подробно. Вы узнаете, как отформатировать их, чтобы придать выходным данным нужный вид.
Встроенная функция input читает текст с терминала. Эта функция получает текст подсказки, который выводится на экран, а затем ожидает, пока пользователь введет что-либо в стандартном вводе и нажмет Enter. Стандартный ввод представляет собой поток, из которого компьютер получает входные данные. В терминале стандартный ввод может читаться из символов, вводимых вами с клавиатуры:
>>> name = input('Enter your name:')
Если ввести эту команду в интерпретаторе (пробелы по обе стороны от = необязательны, но их рекомендуется вводить, чтобы код лучше читался), может показаться, что ваш компьютер завис. На самом деле Python ожидает, когда вы что-нибудь введете и нажмете Enter. После нажатия Enter введенные данные будут сохранены в переменной name. Введите имя Matt и нажмите клавишу Enter. Если теперь вывести значение name, программа выведет только что введенное вами значение:
>>> print(name)
Matt
ПРИМЕЧАНИЕ
Значение, введенное в терминале при вызове input, всегда представляет собой строку. Если вы попытаетесь выполнить с ним математические операции, результат может оказаться не тем, на который вы рассчитывали:
>>> value = input('Enter a number:')
3
>>> other = input('Enter another:')
4
Если теперь попытаться сложить value с other, будет выполнена конкатенация (сцепление строк), потому что в обеих переменных хранятся строки:
>>> type(value)
<class 'str'>
>>> value + other
'34'
Если вы хотите сложить числа, содержащиеся в строках, их необходимо преобразовать из строкового типа к числовому. Для преобразования строк к другому типу, например целому или вещественному, используются функции int и float соответственно.
Чтобы сложить значения value и other в числовом виде, преобразуйте их в числа функцией int:
>>> int(value) + int(other)
7
В следующей главе числовые и строковые типы будут рассмотрены более подробно.
Python предоставляет две функции для простого вывода данных на экран и получения данных от пользователя. Это функции print и input. Помните, что при вызове функции input вы всегда получаете строку.
1. Напишите код Python, который запрашивает у пользователя его имя, после чего выводит Hello и введенное имя.
2. Напишите программу, которая запрашивает у пользователя его возраст. Выведите сообщение, в котором говорится, сколько лет будет пользователю в следующем году.