python递归求数字各个位数相加_和

...........................................................................................................................................................

python递归求数字的各项和,例如数字一千零二十四:“1024”,输出结果为“1+0+2+4=7”

 ..........................................................................................................................................................

.......................................................................................................................................................... 

第一种方法:

.......................................................................................................................................................... 

def sum(a):             #求一个数字各项和,第一种递归方法
    if 0<=a<=9:         #从前到最后一个,出循环
        return a
    else:
        return sum(a//10)+a%10  #表达式
print(sum(234))

.......................................................................................................................................................... 

第二种方法:

.......................................................................................................................................................... 

def sum(a,n):            #求数字各项和,第二种递归法,a为数字,n为数字长度减一
    if n==-1:           #当n为-1是返回0,后面要用到n-1
        return 0        #且返回0不影响相加结果
    else:
        x = a//10**n    #获取每次传的a 的首位
        b = x*10**n     #为去出首位数字做准备,
        c = a-b         #eg:1234-1000 = 234
        return x+sum(c,n-1)   #注意每次传的c就是数字a在变化
print(sum(12345,4))

...........................................................................................................................................................

Guff_hys_python数据结构,大数据开发学习,python实训项目-CSDN博客

 ..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Guff_hys

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值