在一个没有前导零的数字中,我会这样做
import math
num = 1001
digits = int(math.log10(num))+1
print (digits)
>>> 4
但是,如果使用像"0001“这样的前导零的数字,我就会得到
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
我想能数数字,包括前导零。实现这一目标的最佳途径是什么?
发布于 2022-12-03 01:47:41
除非是字符串,否则你不可能有一个带前导数字的数字!
因此,如果您接受一个字符串,只需删除它们并检查长度的差异
>>> value = input("enter a number: ")
enter a number: 0001
>>> value_clean = value.lstrip("0")
>>> leading_zeros = len(value) - len(value_clean)
>>> print("leading zeros: {}".format(leading_zeros))
3
如果您只希望输入错误的数字,int()
可以直接为您转换它。
>>> int("0001")
1
发布于 2022-12-03 03:19:14
我是哑巴。答案很简单。我只需要:
num = 0001
num_string = str(num)
print (len(num_string))
结果:
>>> 4
https://stackoverflow.com/questions/74663343
复制相似问题