私はPythonで再帰を使用していくつかのコーディネートタスクを解決しようとしています。
誰かがこのコードをチェックして、なぜそれがNone
を返すのか教えてもらえますか?私は[4, 5]
を "solution"という変数に入れたいです。なぜPythonの再帰が返されないのですか?値なし
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]
する必要があります。
'リターンrec_fun(上流、下流)' –