Python 为什么这个递归函数不起作用?
这是我的密码:Python 为什么这个递归函数不起作用?,python,python-3.x,recursion,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
#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!另外,递归函数不知道这个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
也许你想把
var+1
分配给某个东西?最重要的是,var
是全局的,所以您必须执行global var
,但是在这里使用全局变量是一个糟糕的选择。使用累加器参数。
1
2
3
4
5
6