我该如何解决? (递归功能问题)

发布于 2025-01-20 00:07:33 字数 249 浏览 0 评论 0原文

我研究递归函数。

我认为它必须打印 120 ( 5 * * 4 * 3 * 2 * 1 )

但是,它打印“无”

j = 1
def factorial(n):
    global j
    j = n * j
    n = n -1
    if n == 0:
        return j
    else:
        factorial(n)

print(factorial(5))

I study recursive_function.

I think It have to print 120 ( 5 * * 4 * 3 * 2 * 1 )

but, It print 'None'

j = 1
def factorial(n):
    global j
    j = n * j
    n = n -1
    if n == 0:
        return j
    else:
        factorial(n)

print(factorial(5))

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初熏 2025-01-27 00:07:33

当你进行递归调用时你必须返回。而不是

factorial(n)

考虑

return factorial(n)

You have to return when you make your recursive call. Rather than

factorial(n)

consider

return factorial(n)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文