Как найти длину целого числа. Для этого есть много решений, я использовал (int(math.log10(TheNumber))+1)
. Но если число «0111», оно возвращается как «1» в python 2.7, а в python 3. * оно возвращает 'SyntaxError: leading zeroes in a decimal number is not permitted'
. Но «0111» - это «111». Но использование len(str(number))
дает правильную длину. Любые решения для этого ..
Просто хочу получить разъяснение по этому поводу. Заранее спасибо
Извините за небольшую информацию в вопросе. Вопрос в том, 0111, длина этого числа равна 3, но когда я проверяю длину этого целого числа в python 2.7, он возвращает 2. Код:
a = 0111
print(len(str(a)))
, он возвращает 2 в качестве ответа. , когда я запускаю тот же код в python3. *, он отображается как SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
.
В моей программе, если пользователь дает такой номер, то есть числа с ведущими нулями, как мне преобразовать это число, в котором нет начальных нулей.
my_input = 0111
convert_input = 111
В python 2.7 это считается восьмеричным числом, когда я распечатайте его, он вернет 73
В python 3. * он запрашивает восьмеричное представление (SyntaxError). Если я использую другой метод int(math.log10(TheNumber))+1
import math
a = 0111
print(int(math.log10(a))+1)
В python 2.7 он возвращает 2, неявно преобразуясь в восьмеричное число. В python 3. * он возвращает синтаксическую ошибку. Так что любые решения для этого пойдут на пользу. Если я ошибаюсь, укажите, пожалуйста. Заранее спасибо