Python程序的输出为“无”

2024-04-19 10:59:07 发布

您现在位置:Python中文网/ 问答频道 /正文

def fact(n, summ):
    if n == 0:
        print(summ)  -- Prints 55
        return summ
    fact(n-1, summ + n)


print(fact(10, 0))  -- Output None

Tags: noneoutputreturnifdefprintsprintfact
1条回答
网友
1楼 · 发布于 2024-04-19 10:59:07

您需要将fact(n-1, summ + n)作为返回值返回。如果函数不返回值,则默认为不返回值

def fact(n, summ):
    if n == 0:
        return summ
    return fact(n-1, summ + n)

print(fact(10, 0))

这将产生:

55

另一方面,可以在不使用第二个参数的情况下重新实现fact函数。以下操作产生相同的输出:

def fact(n):
    if n == 0:
        return 0
    return n + fact(n-1)

print(fact(10))

相关问题 更多 >