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



这是我的代码:

#recursion function
var = 0
def recursion_function(n):
    if(n > 0):
        var + 1
        print(str(var))
        recursion_function(n-1)
recursion_function(6)

这是输出:

0  
0  
0  
0  
0  
0  

进程已完成,退出代码为 0

如何使输出如下所示:

1  
2  
3  
4  
5  
6  

请帮忙,因为我找不到递归错误...

您实际上并没有更改 var 的值。 将 var + 1 替换为 var +=1

var = 0
def recursion_function(n):
    global var
    if(n > 0):
        var += 1
        print(var)
        recursion_function(n-1)
recursion_function(6)
>>>1
>>>2
>>>3
>>>4
>>>5
>>>6
 var + 1
    ^
    |

在您的recursion_function中,您没有分配 var !另外,您的recursion_function不知道这个var是什么

编写代码的好方法

var = 6
def recursion_function(n):
    if(n > 0):
        print(str((var + 1)-n))
        recursion_function(n-1)
recursion_function(var)

您想要的输出:

1
2
3
4
5
6

最新更新