Почему возникает ошибка “int() can't convert non-string with explicit base”?
При попытке использовать функцию int() с указанием системы счисления возникает ошибка:
int() can't convert non-string with explicit base.
Почему это происходит, и почему проблема исчезает, если предварительно преобразовать аргументы в строки?
10 часов назад
Nikolai Gagarinov
Ответы
Ошибка появляется, когда функция int() вызывается с основанием системы счисления (вторым аргументом), но первый аргумент при этом не является строкой.
Формат вызова выглядит так:
Если указан base, то value должен быть строкой, а не числом или другим типом. Например:
Поэтому при передаче нестрокового аргумента появляется ошибка: функция не может интерпретировать его как число в заданной системе счисления.
После преобразования аргументов a и b в строки вызов становится валидным, и ошибка исчезает.
10 часов назад
Nikolai Gagarinov