Python中if条件语句内的return语句不起作用

3
def digital_root(n):
    s=0
    if  n < 10:
        return n
    else:
        while n>0:
            s+=n%10
            n=n//10
        digital_root(s)

我提交问题时遇到了麻烦。我确保返回了数字,并通过将其输出到日志中检查了该数字的正确性,但测试仍然失败并且说我返回了None,但实际上我没有。
1个回答

2

在递归调用之前需要添加 return 语句:

def digital_root(n):
    s=0
    if  n < 10:
        return n
    else:
        while n>0:
            s+=n%10
            n=n//10
        return digital_root(s)        # added 'return' here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接