Пользовательский ввод
Ваши программы могут получать информацию от того, кто ими пользуется.
Иначе говоря, вы можете попросить пользователя что-то ввести.
Дойдя до функции input(), Python останавливается и продолжает работу только после того, как пользователь что-то ввёл.
Следующий пример запрашивает имя и, когда вы его введёте, выводит его на экран:
Пример
Запросите ввод у пользователя:
Вывод: полная программа на Python
print("Введите ваше имя:")
name = input()
print(f"Привет, {name}")
Использование подсказки
Выше имя приходилось вводить на новой строке. Функция input() также принимает параметр prompt — сообщение, которое показывается прямо перед местом ввода, на той же строке:
Пример
Покажите сообщение перед вводом:
Вывод: полная программа на Python
name = input("Введите ваше имя:")
print(f"Привет, {name}")
Несколько вводов
Программа может запрашивать ввод сколько угодно раз. При каждом запросе Python останавливается, пока пользователь не ответит:
Пример
Запрос нескольких вводов:
Вывод: полная программа на Python
name = input("Введите ваше имя:")
print(f"Привет, {name}")
fav1 = input("Какое ваше любимое животное:")
fav2 = input("Какой ваш любимый цвет:")
fav3 = input("Какое ваше любимое число:")
print(f"Хотите животное: {fav1}, цвет: {fav2}, число ног: {fav3}?")
Ввод числа
Всё, что вводит пользователь, поступает в виде строки. Это касается и чисел, например любимого числа из примера выше: интерпретатор всё равно видит строку.
Чтобы получить настоящее число, передайте ввод в функцию float():
Пример
Для вычисления квадратного корня нужно число, поэтому ввод сначала преобразуется:
Вывод: полная программа на Python
import math
x = input("Введите число:")
#находим квадратный корень числа:
y = math.sqrt(float(x))
print(f"Квадратный корень из {x} равен {y}")
Проверка ввода
Проверять то, что ввёл пользователь, — хорошая практика. В примере выше ввод чего-либо, кроме числа, вызывает ошибку.
Этого можно избежать, если сначала проверить ввод. Когда это не число, пользователь может увидеть сообщение вроде «Wrong input, please try again» и получить ещё одну попытку:
Пример
Повторяйте вопрос, пока пользователь не введёт число:
Вывод: полная программа на Python
y = True
while y == True:
x = input("Введите число:")
try:
x = float(x);
y = False
except:
print("Неверный ввод, попробуйте ещё раз.")
print("Спасибо!")