pythonで整数値の桁数を求める
log10を使うだけ
※コメントにて、log10は引数によっては浮動小数点演算の精度が結果に影響することもあるので注意が必要だとご指摘を頂きました。桁数が多い場合は追記の部分を参照下さい。
import math
num = 2**53
digits = int(math.log10(num))+1
print(digits) #16
追記
以下の方がはるかに楽であった。。
Pythonで数字の桁数を取得する方法
数字を文字列に変換して、長さを取得する。
負の数の場合、マイナス符号が桁数に入ってしまうので絶対値に変換しておく。num = -12345 num_digits = len(str(abs(num))) # 一括変換 print(num_digits) # 実行結果 5
参考