Der obige Code wird verwendet, um alle Pfade bestimmter Länge in einem Diagramm zu erstellen. map [a] repräsentiert die Punkte, die Sie von Punkt a aus erreichen können.
Wie kann ich es ändern, um eine beliebige Anzahl von Schleifen zu simulieren?
Dies ist wie ein kartesisches Produkt (itertools.product) bei jeder Iteration Ihre Auswahl für das nächste Element ist auf die in map [current_point] beschränkt.
Dies ist ein klassisches rekursives Problem. Ihre Funktion sollte die Verkettung des Knotenwerts mit allen Ergebnissen des Ergebnisses function für jeden untergeordneten Knoten zurückgeben. Wie Sie im Satz sehen können, wird das Funktionsverhalten rekursiv erklärt:
%Vor%Ergebnis:
%Vor% Dieser Code ist ein Startpunkt. Sie können alle Pfade in einer Liste speichern, verwenden Sie yield
Generator, usw. Vergessen Sie nicht, Kreise zu verhindern.
Sehen Sie sich auch die Lösung für die Erstellung von Grafiken an. Sicher kann diese Bibliothek Ihnen helfen, sehen Sie dieses Beispiel: Findet alle kürzesten Pfade (Geodäten) von einem Scheitelpunkt zu allen anderen Scheitelpunkten .
Grüße.
Tags und Links python recursion generator nested-loops