我试图用Python中的递归来解决一些编码问题。
有人能检查一下这段代码并告诉我它为什么返回None
?我想在名为“solution”的变量中得到[4, 5]
。在
def rec_fun(upstream,downstream):
if not upstream or not downstream :
if upstream :
return upstream
if downstream:
return downstream
if upstream[0] >downstream[0] :
downstream.pop(0)
else:
upstream.pop(0)
rec_fun(upstream,downstream)
def solution(A, B):
upstream=[]
downstream=[]
n=len(A)
for i in range(0,n) :
if B[i]==0:
upstream.append(A[i])
else:
downstream.append(A[i])
upstream=sorted(upstream)
downstream=sorted(downstream)
return rec_fun(upstream,downstream)
A=[4,3,2,1,5]
B=[0,1,0,0,0]
solution = solution(A, B)
print solution
输出是:output = None
,它应该是[4, 5]
。在
在递归函数中,您没有
return
任何内容。您必须添加一些return
语句。即:相关问题 更多 >
编程相关推荐