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

时间:2018-04-08 17:54:30

标签: python python-3.x recursion

这是我的代码:

#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  

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

2 个答案:

答案 0 :(得分:1)

您实际上并未更改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

答案 1 :(得分:0)

 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