Bootstrap

python提取一个数字中的每一位数_python 使用递归实现打印一个数字的每一位示例...

我就废话不多说了,直接上代码吧!

def func(n):

# 从高分为开始打印

lengh = len(str(n)) # 确定数字的长度

x = 10**(lengh-1) # 确定数字的分位

if n < 10:

print(n)

else:

print(int(n/x))

func(n % x) # 对n的x分位取余得到

def func1(n):

# 从低分位开始打印

if n < 10:

print(n)

else:

print(n % 10)

func(int(n / 10))

上述凶高分位打印的时候,会出现0无法打出的现象,现在加一个判断做一个优化

def f(n):

num_len = len(str(n))

if n < 10:

print(n)

# return n

else:

print(int(n / (10**(num_len-1))), end=' ')

mod = n % (10**(num_len-1))

dif_value = num_len - len(str(mod))

if dif_value > 1:

for i in range(1, dif_value):

print(0, end=' ')

f(mod)

f(200400900000)

当然也有同学有跟简单的方法来写,但是需要一定的理解力,就是把低分为的实现方法打印和调用换一个位置变可实现

def func1(n):

# 从低分位开始打

;