Строка или число: ошибка при вводе
«Почему 2 + 3 дало 23?» — очень частый вопрос новичка. Причина в типах данных.
input всегда даёт строку
Функция input() возвращает то, что ввёл пользователь, ВСЕГДА как строку — даже если это цифры. Строка «5» и число 5 — разные вещи для Python, хотя выглядят одинаково.
Почему '2' + '3' = '23'
Для строк знак + означает склеивание, а не сложение. Поэтому «2» + «3» даёт «23», а не 5. Компьютер не догадывается, что вы имели в виду числа — он видит текст.
Как превратить в число
Оберните ввод в int() для целого или float() для дробного: n = int(input()). Теперь Python работает с числом, и сложение считает правильно. Обратно в текст — функцией str().
Осторожно с некорректным вводом
Если пользователь введёт «пять» вместо цифр, int() выдаст ошибку. Позже это оборачивают в try/except, но сначала важно понять сам принцип типов. Отточить ввод и счёт удобно на задачах в «Дрон Кодере».
Частые вопросы
Как понять тип переменной? Функцией type(x).
Как сложить число и строку в тексте? Приведите число к строке через str(): «Возраст: » + str(age).
Начать игру бесплатно