Глава 8 · Играем с буквами и словами
Получение ввода от пользователей
Начало автоматизации: программа, которая спрашивает — и реагирует на ответ.
До сих пор все данные в программах были «зашиты» прямо в код. Пора научиться получать данные от самого пользователя во время выполнения программы — с этого момента ваши программы становятся по-настоящему интерактивными.
vvod.py
name = input("Как вас зовут? ")
print(f"Привет, {name}!")
input() останавливает программу и ждёт, пока пользователь
наберёт текст и нажмёт Enter — то, что он ввёл, возвращается как обычная строка.
В ноутбуке практики input() выглядит немного иначе
Jupyter Notebook выполняется автоматически, без живого человека за клавиатурой, поэтому в ноутбуке практики
input() подставляет заранее заготовленные ответы — сам код при этом выглядит и работает точно так же, как в обычном .py-файле, который вы запускаете сами.Преобразование строки в int или float
input() всегда возвращает строку — даже
если пользователь ввёл число. Чтобы посчитать что-то с этим значением, его нужно
преобразовать (как мы делали в главе 4):
vvod_chisla.py
age_text = input("Сколько вам лет? ")
age = int(age_text)
print(f"Через 5 лет вам будет {age + 5}.")
Частая ошибка новичков
Если забыть про
int() и написать age + 5, где age — строка из input(), Python выдаст TypeError: складывать строку и число напрямую нельзя.Практика в Jupyter Notebook
08-07-vvod-polzovatelya.ipynb · input() и преобразование типов