← Все вопросы

Как ввести число, а не текст, в Python (int)?

Задан 15 месяцев назад1.3к просмотров2 ответа
10

Я спросил у пользователя число через input, а потом не могу его сложить — Python ругается. Как сделать, чтобы input вернул число в Python? Зачем нужен int вокруг input?

2 ответа

14
✓ Принятый ответ — помог автору

Главный секрет: input всегда даёт текст, даже если ты напечатал цифры! Поэтому числа из него сначала надо превратить в настоящие числа через int. 🔢

Смотри, в чём проблема:

age = input("Возраст: ")   # ввели 10, но это ТЕКСТ "10"
print(age + 1)             # ОШИБКА! текст + число нельзя

Python думает, что 10 — это буквы, и не может прибавить к ним 1. Решение — обернуть в int(...) (от integer — целое число):

age = int(input("Возраст: "))   # теперь это число 10
print(age + 1)                  # 11, работает! ✅

int(...) говорит: «преврати этот текст в число».

Если нужно число с точкой (например, рост 1.5), бери float:

rost = float(input("Рост: "))

Запомни правило для новичка: хочешь считать введённое — оборачивай в int(). Хочешь просто показать или склеить как слово — оставляй как есть. Это причина номер один, почему у новичков «ломается» сложение после input! 😅

6

Простое правило: input даёт текст → для математики нужен int.

a = int(input("Первое: "))
b = int(input("Второе: "))
print(a + b)   # настоящая сумма

Без int Python склеит строки: ввёл 2 и 3, а получил 23 вместо 5. Один int() вокруг input — и всё считается правильно. 👍

Ваш ответ

Войдите, чтобы ответить на вопрос.