python 分别输出每一位数字_python 使用递归实现打印一个数字的每一位示例

本文提供两种Python递归方法分别输出数字的每一位,包括从高位和低位开始。同时,还展示了使用递归生成杨辉三角的例子。
摘要由CSDN通过智能技术生成

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

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)

当然也有同学有跟简单的方法来写,但是需要一定的理解力,就

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值