ここに私のコードがあります:
hasht= {"A":["B", "D", "E"], "B":["C"], "C":["D", "E"], "D":["C", "E"], "E":["B"]}
paths=[]
def recusive(start, finish, val):
if start==finish and val!=1:
return start
else:
for i in hasht[start]:
path= start+ recusive(i,finish,2)
paths.append(path)
print (recusive("C","C",1))
print paths
望ましい出力:[CDC, CDEBC, CEBC]
上記のようなテーブルを生成しようとしていますが、文字列と配列が連結されていないという問題が発生しています。私がちょうど戻ったとき、それは戻っCDC
て動作しますが、return の意図どおりに関数を終了します。ここでコードを改善して機能させ、ロジックに問題があった理由を理解する方法を考えています。たとえば、 say[DC]
が生成されることは理解していますが、それを回避する方法について混乱しています。おそらく返された値にインデックスを付けますか?しかし、それもうまくいきません!パスが一度戻ったら、CDC
次のパスに移動する方法について混乱しています。