Python中的递归性返回none,这是另一种方法
我正在启动python,我对python中的返回有一点问题。 因此,Lc的最终值,我的结果列表在递归函数cpRec中是正确的,但是 当它返回它时,我在函数cp2中没有得到任何结果。我可以使用Lc的全局值,问题解决了,但它很难看。。。那么还有其他方法吗Python中的递归性返回none,这是另一种方法,python,recursion,return-type,Python,Recursion,Return Type,我正在启动python,我对python中的返回有一点问题。 因此,Lc的最终值,我的结果列表在递归函数cpRec中是正确的,但是 当它返回它时,我在函数cp2中没有得到任何结果。我可以使用Lc的全局值,问题解决了,但它很难看。。。那么还有其他方法吗 def cpRec(L, Lc, chiffre,cpt): if len(L) == 0: Lc += [cpt] #print Lc <- if I print here, the result is good.
def cpRec(L, Lc, chiffre,cpt):
if len(L) == 0:
Lc += [cpt]
#print Lc <- if I print here, the result is good.
return Lc
else:
first = L.pop(0)
if first == chiffre:
cpRec(L, Lc, chiffre, cpt+ 1)
else:
Lc += [cpt]
cpRec(L, Lc, first, 1)
def cp2(L):
Lc =[L[0]]
return cpRec(L,Lc, L[0], 0)
print(cp2([0,1,1,1,0,0,1,1,1])) #<- print None instead of Lc
在对
cpRec
的递归调用之前放置return
在对cpRec
的递归调用之前放置return
尝试将“return”语句添加到这两个递归cpRec
调用中:
def cpRec(L, Lc, chiffre,cpt):
if len(L) == 0:
Lc += [cpt]
#print Lc <- if I print here, the result is good.
return Lc
else:
first = L.pop(0)
if first == chiffre:
return cpRec(L, Lc, chiffre, cpt+ 1)
else:
Lc += [cpt]
return cpRec(L, Lc, first, 1)
def cpRec(L、Lc、chiffre、cpt):
如果len(L)==0:
Lc+=[cpt]
#打印Lc尝试将“return”语句添加到这两个递归调用中:
def cpRec(L, Lc, chiffre,cpt):
if len(L) == 0:
Lc += [cpt]
#print Lc <- if I print here, the result is good.
return Lc
else:
first = L.pop(0)
if first == chiffre:
return cpRec(L, Lc, chiffre, cpt+ 1)
else:
Lc += [cpt]
return cpRec(L, Lc, first, 1)
def cpRec(L、Lc、chiffre、cpt):
如果len(L)==0:
Lc+=[cpt]
#打印信用证的可能副本