Основы использования input()
Функция input() очень проста в использовании:
Python
# 1. Простой запрос ввода
Name = input("Введите ваше имя: ")
Print(f"Привет, {name}!")
# 2. Ввод числа (помните, input() всегда возвращает строку!)
Age_str = input("Введите ваш возраст: ")
Print(f"Вы ввели возраст как строку: {age_str} (тип: {type(age_str)})")
# Чтобы использовать введенное число как число, его нужно преобразовать (кастовать)
Try:
age = int(age_str) # Преобразуем строку в целое число
print(f"Ваш возраст: {age} (тип: {type(age)})")
print(f"Через 5 лет вам будет: {age + 5}")
Except ValueError:
print("Ошибка: Вы ввели не число для возраста.")
# 3. Ввод числа с плавающей запятой
Height_str = input("Введите ваш рост в метрах (например, 1.75): ")
Try:
height = float(height_str) # Преобразуем строку в число с плавающей запятой
print(f"Ваш рост: {height} м")
Except ValueError:
print("Ошибка: Вы ввели не число для роста.")
Важные моменты про input():
1. Всегда возвращает строку: Это ключевой момент. Независимо от того, что ввел пользователь (числа, буквы, символы), input() всегда вернет это в виде Строки. Если вам нужно использовать введенные данные как числа (целые или с плавающей запятой), логические значения и т. д., вам придется явно преобразовать их с помощью функций, таких как int(), float(), bool().
Python
Num_str = input("Введите число: ") # Пользователь ввел "123"
# num_str теперь "123", а не число 123
# Попытка выполнить математическую операцию без преобразования вызовет ошибку:
# print(num_str + 5) # TypeError: can only concatenate str (not "int") to str
Num_int = int(num_str) # Преобразование в int
Print(num_int + 5) # 128
2. Аргумент-подсказка: Вы можете передать строку в качестве аргумента функции input(). Эта строка будет отображена пользователю в качестве подсказки о том, что от него ожидается.
Python
Favorite_color = input("Какой ваш любимый цвет? ")
Print(f"Вы любите {favorite_color}.")
3. Обработка ошибок ввода: Поскольку input() возвращает строку, а вы часто пытаетесь преобразовать ее в другой тип, важно использовать блоки try-except для обработки возможных ошибок ValueError. Это происходит, если пользователь вводит данные, которые не могут быть корректно преобразованы (например, вводит "abc" вместо числа).
Python
While True:
user_input = input("Введите целое число: ")
try:
number = int(user_input)
print(f"Вы ввели число: {number}")
break # Выходим из цикла, если ввод корректен
except ValueError:
print("Некорректный ввод. Пожалуйста, введите именно целое число.")
size=2 width=»100%» align=center data-sourcepos=»70:1-70:3″>
Примеры использования:
Получение нескольких значений:
Python
# Разделение ввода по пробелу (например, пользователь ввел "10 20 30")
Numbers_str = input("Введите три числа через пробел: ")
Numbers_list_str = numbers_str. split() # Разделяем строку по пробелам
# Преобразуем каждую строку в число
Numbers = []
For s in numbers_list_str:
try:
numbers. append(int(s))
except ValueError:
print(f"Одно из введенных значений '{s}' не является числом.")
numbers = [] # Очищаем список, если есть ошибка
break
If numbers: # Проверяем, что список не пуст после возможных ошибок
print(f"Ваши числа: {numbers}")
print(f"Сумма: {sum(numbers)}")
Запрос подтверждения (Да/Нет):
Python
Response = input("Вы хотите продолжить? (да/нет): ").lower().strip()
If response == "да":
print("Продолжаем...")
Elif response == "нет":
print("Останавливаемся.")
Else:
print("Непонятный ответ. Пожалуйста, введите 'да' или 'нет'.")
Вывод:
Функция input() является вашим основным инструментом для получения пользовательского ввода в консольных приложениях Python. Всегда помните, что она возвращает строку, и вам, скорее всего, потребуется преобразовать ее в нужный тип данных, а также предусмотреть обработку ошибок для устойчивости вашей программы.