【发布时间】:2020-10-17 11:49:20
【问题描述】:
我正在解决一个涉及递归的 Codewars 问题,我以前从未真正做过,但有点理解这个概念。我不是很擅长数学,所以它可能解释了为什么我不能解决这个问题。本质上我认为我做了正确的循环我只是不知道如何打印最终值。无论如何,这是我的代码:
def digital_root(n):
newn = 0
list = [int(x) for x in str(n)]
if len(list) >= 2:
for i in range(len(list)):
newn += list[i]
digital_root(newn)
return n
print(digital_root(1234)
输出:
1234
【问题讨论】:
-
内部调用的结果必须由外部函数显式
returned。 -
@MichaelButscher 谢谢您的回复。我知道我应该这样做,但我真的不知道。我尝试将 newn 设为全局,但出现 typeval 错误
-
递归调用函数返回结果与调用任何其他函数返回结果的方式相同。
-
您应该在问题中显示替代尝试和完整的错误消息。