给出n
,取n
的数字之和。如果该值超过一位,请继续以这种方式减少直到产生一位数字。这仅适用于自然数。
def digital_root(n):
sum = 0
print(n)
lst = list(str(n))
for num in lst:
sum += int(num)
if len(str(sum)) > 1:
digital_root(sum)
else:
return sum
答案 0 :(得分:0)
您可以尝试;
>>> def digital_root(n):
... sm = sum(int(x) for x in str(n))
... if (sm > 9): return digital_root(sm)
... else: return sm
...
在递归情况下,添加了return
以返回结果