Получение ввода от пользователей
Начало автоматизации: программа, которая спрашивает — и реагирует на ответ.
До сих пор все данные в программах были «зашиты» прямо в код. Пора научиться получать данные от самого пользователя во время выполнения программы — с этого момента ваши программы становятся по-настоящему интерактивными.
name = input("Как вас зовут? ")
print(f"Привет, {name}!")
# Диалог в терминале:
# Как вас зовут? Ада
# Привет, Ада!
input() останавливает программу и ждёт, пока пользователь
наберёт текст и нажмёт Enter — то, что он ввёл, возвращается как обычная строка.
input() — прямо как обычный .py-файл, запущенный на компьютере: программа останавливается, показывает подсказку и ждёт, пока вы наберёте текст.Простое правило: input → строка → преобразовать, если нужно число
input() всегда возвращает строку — даже
если пользователь ввёл число. Чтобы посчитать что-то с этим значением, его нужно
преобразовать (как мы делали в главе 4):
age_text = input("Сколько вам лет? ")
print(type(age_text)) # <class 'str'> — даже если ввели "28"
age = int(age_text)
print(f"Через 5 лет вам будет {age + 5}.")
int() и написать age + 5, где age — строка из input(), Python выдаст TypeError: складывать строку и число напрямую нельзя.Ещё несколько диалогов
city = input("В каком городе вы живёте? ")
print(f"{city} — отличный город!")
height_text = input("Ваш рост в см? ")
height = float(height_text)
print(f"Ваш рост в метрах: {height / 100:.2f}")
Спросите имя через input(), а затем проверьте (через isalpha() из раздела 8.11), состоит ли оно только из букв — выведите разный текст в зависимости от результата.