Очень часто при написании программы нужно запрашивать какую-либо информацию у пользователя. И после того, как он введет необходимые данные, их нужно сохранить в программе. Для обработки пользовательского ввода в python существует функция input().
>>> a=input()
123
>>> a
'123'
>>> type(a)
class 'str'
>>> a+2
Traceback (most recent call last):
a+2
TypeError: must be str, not int
После вызова функции input() программа остановится и будет ждать ввода значений. По окончанию ввода нужно нажать Enter и все что было введено сохранится в переменной в виде строки.
>>> b=input()
hello world!
>>> b
'hello world!'
Если вам необходимо ввести целое число и сохранить его в переменную d, необходимо поступить следующим образом:
>>> d=int(input())
123
>>> type(d)
class 'int'
>>> d+2
125
Оборачивая input() функцией int(), мы преобразуем введеную строку в целое число. Но будьте аккуратны! Если пользователь введет символы, которые нельзя преобразовать к целому числу, получите ошибку ValueError.
d=int(input())
15sdf4
Traceback (most recent call last):
d=int(input())
ValueError: invalid literal for int() with base 10: '15sdf4'
Если вам необходимо ввести вещественное число и сохранить его в переменную q, необходимо обернуть функцию input() в функцию float()
>>> q=float(input())
4.5
>>> q
4.5
>>> type(q)
class 'float'
Но при помощи int(input()) вы можете считать только одно число в одной строке. Если вам потребуется ввести несколько чисел в одну строчку через пробел, нужно поступать следующим образом:
Здесь вводятся только два значения в одну строку через пробел. Затем каждое из них преобразуется к целому значению.
Другой способ прочитать несколько значений - использовать функцию map
О том как работает функция map вы узнаете в дальнейших уроках. Сейчас просто пользуйтесь этой строчкой
Варианты использования функции input()
1 Что делает данная программа?
name = input("Введите ваше имя: ")
print("Тебя зовут " + name)
2 Найдите и объясните ошибку в следующем коде:
rost = input(float("Введите ваш рост в метрах:"))
Программа вычисляет средний балл ученика за решение четырех задач по оценкам (от 2 до 5).
№ | Входные данные | Выходные данные |
---|---|---|
1 |
2 3 4 5
|
3.5
|
Программа вычисляет длину отрезка (т.е. расстояние между двумя точками), заданного двумя значениями x1 и x2.
№ | Входные данные | Выходные данные |
---|---|---|
1 |
-2 6.5
3 -9 |
8.5
12 |