Несколько причин, по которым функция input() может не получать данные от пользователя:
- Использование неподходящей версии Python. stackoverflow.com stackoverflow.com В Python 2 функция input возвращала результат вычисления введённого выражения, а в Python 3 — всегда возвращала строку. letpy.com Если используется версия 2, вместо input следует использовать raw_input. stackoverflow.com stackoverflow.com
- Локальное определение переменной. qna.habr.com Если переменная определена локально в функции и не существует за её пределами, функция input() не сможет получить введённые данные. qna.habr.com
Также проблема может возникать, если программа ожидает ввод числа, а пользователь введёт строку. letpy.com В этом случае программа завершится с ошибкой. letpy.com Чтобы обезопасить её от таких ошибок, можно проверять входные данные перед преобразованием или использовать конструкцию try-except, чтобы перехватить исключение и обработать его. letpy.com