Ich versuche eine Funktion zu erstellen, die alle Möglichkeiten für einen Ort zum anderen zurückgibt.Warum funktioniert meine Funktion nicht? (kurz)
Das ist nicht mein endgültiger Code und ich bin mir nicht sicher, ob es funktioniert, aber der Fehler, den ich bekomme, hält mich davon ab, weiterzumachen.
Das Folgende ist mein Python 2.7 Code:
def routes(graph,start,end):
path=[]
paths=[]
for node in graph[start]:
if node==end:
path+=[end]
elif node<end:
path.append(node)
start=node
routes(graph,start,end)
return paths
graph={001:(002),002:(003,004,005),003:(004),004:(005,006)}
routes(graph,002,005)
Das Problem beginnt, wenn sie den zweiten Funktionsaufruf eingeben. wenn es versucht, 'für Knoten in Graph [Start]' Zeile ausführen Ich bekomme ein 'int' Objekt ist nicht iterierbar 'Fehler.
Was kann diesen Fehler verursachen?
Warum außerhalb der Rekursion funktioniert es und drinnen nicht?
Vielen Dank.
Was planen Sie mit der Rückkehr Ihres rekursiven Anrufs? – AChampion
Ein Problem ist, dass '(002)' ein 'int' und kein' tuple' ist. Wenn Sie möchten, dass dies ein Tupel ist, müssen Sie '(002,)' (notieren Sie das Komma) schreiben. –
versucht, dass und es immer noch nicht funktioniert = / – Guy