尝试用Python中的递归函数添加int的位数。当我使用print语句进行调试时,可以看到我的程序正在计算除倒数第二位之外的所有数字。例如,如果我传入数字(12345),程序将计算5,然后跳过4,然后计算剩余的数字。任何数字都会发生这种情况。我想知道为什么模数会隔离所有的数字,除了倒数第二个数字。(这个结果在其他方面也是不正确的,但是我想集中讨论一下模数是如何递归地工作的。)
代码是:
def sumDigits(x):
if x <= 0:
return 1
else:
temp = x % 10
x = x / 10
print ('x = ', x, 'temp = ', temp)
return temp + sumDigits(x -1)
结果是:
^{pr2}$非常感谢你的任何信息。在
12345,这里5是第一次。然后你实际上通过了4-1,3-1,2-1,1-1
使用
而不是
^{pr2}$您还应该在此处更改:
否则,会增加一个
相关问题 更多 >
编程相关推荐