← Все вопросы

Ввожу число через input, а оно ведёт себя как текст — как заставить Python считать его числом?

Задан 32 месяца назад606 просмотров2 ответа
6

Делаю калькулятор для домашки:

x = input('Введи число: ')
print(x + 10)

Пишет can only concatenate str (not "int") to str. Я же ввёл число 5, почему оно не складывается с 10?

2 ответа

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

input() всегда возвращает строку, даже если ты ввёл цифры. То есть у тебя x это '5' (текст), а не число 5. Чтобы получить именно число, оберни ввод в int():

x = int(input('Введи число: '))
print(x + 10)   # теперь 15

int() превращает строку из цифр в целое число. Если ждёшь дробное — используй float().

3

Маленькое предупреждение на будущее: если пользователь введёт не цифры (например, abc), то int(...) упадёт с ValueError. Пока учишься — это нормально, просто вводи числа. Позже научишься это проверять.

Ваш ответ

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