【发布时间】:2017-04-18 01:23:34
【问题描述】:
尝试编写一段代码,将数字的位数相加。另外我应该补充一点,我希望程序继续对数字求和,直到总和仅为 1 位。
例如,如果以1969开头,则应先加1+9+6+9得到25。由于25的值不止一位,因此应重复运算得到7作为最终答案.
只是想知道我如何才能实现这一点,并可能使其递归。这就是我目前所拥有的
def sum_digits3(n):
r = 0
while n:
r, n = r + n % 10, n // 10
return r
【问题讨论】:
-
见:Digital Root without loops(编辑:删除其他链接)
标签: python function python-3.x recursion