我就废话不多说了,直接上代码吧!
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)
当然也有同学有跟简单的方法来写,但是需要一定的理解力,就

本文提供两种Python递归方法分别输出数字的每一位,包括从高位和低位开始。同时,还展示了使用递归生成杨辉三角的例子。
最低0.47元/天 解锁文章

1525

被折叠的 条评论
为什么被折叠?



