繁体   English   中英

为什么此递归功能不起作用?

[英]Why is this recursion function not working?

这是我的代码:

#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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM