Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| |
| modul:m323:learningunits:lu03:loesungen:verzeichnisbaum [2024/03/28 14:07] – angelegt - Externe Bearbeitung 127.0.0.1 | modul:m323:learningunits:lu03:loesungen:verzeichnisbaum [2026/09/01 10:01] (aktuell) – Animation zur Herleitung ueber alle fuenf Schritte eingebettet admin |
|---|
| ====== LU03.L01 - Rekursive Suche in einem Verzeichnisbaum ====== | ====== LU03.L01 - Rekursive Suche in einem Verzeichnisbaum ====== |
| |
| | ===== Herleitung über alle fünf Schritte ===== |
| | |
| | Die Animation geht die [[modul:m323:learningunits:lu03:rekursion2|5-Schritte-Methode]] durch und baut in Schritt 5 den Code unten Zeile für Zeile auf. Jede Zeile wird auf die Regel zurückgeführt, aus der sie stammt. |
| | |
| | {{url>https://templates-python.github.io/m323_html/lu03/l01-verzeichnisbaum.html 100%,940px noborder|Animation: Verzeichnisbaum, von der Regel zum Code}} |
| | |
| | ===== Musterlösung ===== |
| |
| <code python> | <code python> |
| print(path) # Sollte den Pfad zur Datei ausgeben | print(path) # Sollte den Pfad zur Datei ausgeben |
| </code> | </code> |
| | |
| | <WRAP center round tip 80%> |
| | Das ''return'' innerhalb der Schleife ist die entscheidende Zeile: ohne es würde die Suche weiterlaufen und das bereits gefundene Ergebnis verlieren. Die Prüfung ''if path:'' funktioniert hier, weil ein gefundener Pfad nie leer ist – bei anderen Rückgabewerten (etwa ''0'') wäre ''if path is not None:'' nötig. |
| | </WRAP> |
| |
| ---- | ---- |
| [[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Kevin Maurizi | [[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Kevin Maurizi |