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))
 



















