为什么这个递归函数不起作用?

时间:2018-01-26 05:57:14

标签: python python-2.7

我在竞争性节目中试过这个但是出于某种原因,这不起作用。我是python programming的新手。所以,我不明白为什么这不起作用。有人可以帮助我吗?

def factorial(num):
    if num==0:
        return 1
    else:
        return num*factorial(num-1)

T=int(raw_input())
while T>0:
    n=int(raw_input())
    print factorial(n)
    T=T-1

其中T是竞争性编程中常见的测试用例。对于T nos,我们必须找到阶乘。我之前的问题不明确。现在任何人都可以给我见解吗?我一直得到的错误是nzec(非零退出代码)错误。

1 个答案:

答案 0 :(得分:3)

Aditya 在评论中给出了正确的解决方案!您的代码应修复如下:

def factorial(num):   
    if num==0:        
        return 1    
    else:        
       return num*factorial(num-1)