Чтение данных, вводимых с клавиатуры

Завершено

Многие программы являются интерактивными. Это означает, что их работа зависит от входных данных. Пользователь, который вводит данные в программу, обычно является пользователем, но это может быть другая программа. Существует множество способов отправки входных данных в программу. Двумя самыми распространенными являются использование графического интерфейса или консоли.

Пользовательский ввод

Для чтения данных, вводимых с клавиатуры, в Python имеется функция input(). Функция input() считывает клавиши, вводимые пользователем на клавиатуре, и возвращает их в виде строки. Ниже приведен пример, который объединяет input() и print() записывает имя пользователя и отображает его на экране:

name = input('Enter your name:')
print(name)

Строка, передаваемая в качестве аргумента функции input, представляет собой запрос, выводимый пользователю. В этом примере вы просите пользователя ввести свое имя ("Введите имя"). После того как пользователь вводит имя и нажимает клавишу ВВОД, функция input возвращает управление. Возвращаемое функцией значение — это введенный пользователем текст. Он присваивается переменной с именем name. Затем переменная name используется как входные данные или аргумент функции print, которая выводит на экран введенное пользователем имя.

Функцию input можно также вызвать без параметра:

print('What is your name?')
name = input()
print(name)

Эта программа выполняется почти так же, как первая. Разница в том, что функция print (по умолчанию) добавляет в выходные данные символ новой строки.

Считывание вводимых чисел

Функция input всегда возвращает вводимые значения как строки (текст). Это разумно, так как пользователь может ввести любой набор символов. Даже если введенное значение является числом, оно возвращается из функции input как строка. Например:

x = input('Enter a number: ')
print(type(x))

Если выполнить этот код и ввести значение "5", на экране отобразится <class 'str'>, несмотря на то, что введено числовое значение. Чтобы преобразовать значение в целочисленную переменную, можно воспользоваться функцией int():

x = int(input('Enter a number: '))
print(type(x))

Этот код выводит <class 'int'> для значения 5. Если в значении может быть дробная часть, можно использовать функцию float аналогичным образом.

Важно!

Что если в функцию int() будет передано значение, не являющееся числом? Как можно догадаться, произойдет ошибка во время выполнения. Работа программы завершится на этом операторе. Вы можете попробовать сами в интерактивной консоли Python. В следующих модулях мы рассмотрим различные способы обработки таких ошибок.

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

Можно делать и наоборот. Метод str() принимает целое число или число с плавающей запятой и преобразует его в строку. Чтобы приведенный ниже пример кода работал, нужно вызвать метод str(). Преобразование гарантирует, что целое число в форме строки сцепляется со строкой слева.

x = 5
print('The number is ' + str(x))