Skip to main content
 首页 » 编程设计

python之如何在 Python 2.7 中实现迭代函数的递归函数

2025年05月04日13jackei

我在 python 2.7 中编写了一个函数来计算给定数字的数字和:

def dig_sum(n): 
    s = 0 
    while n: 
         s = s + n % 10 
         n = n/10 
    return s 

现在尝试将其重写为递归函数:

def dig_sum(n): 
    s = 0 
    if n != 0: 
        s = n % 10 
        s += s 
        return dig_sum(n/10) 
    return s 

我的递归函数有什么问题?执行此类功能时的最佳做法是什么? 提前致谢!

请您参考如下方法:

递归函数看起来像这样

def dig_sum(n): 
    if n < 10:                       # Handle single digits as your base case 
        return n 
    else: 
        return n%10 + dig_sum(n/10)  # Add one's digit, then shift and continue 

测试

>>> dig_sum(1001) 
2 
 
>>> dig_sum(12345) 
15