Wiederholung – Verschachteltes Array summieren
Teil des Abschnitts Logik & Ablaufsteuerung der GDScript-Journey von Coddy. Lektion 59 von 78.
Aufgabe
EinfachSchreibe eine rekursive Funktion namens sum_nested, die ein Array nested_array entgegennimmt. Seine Elemente sind ganze Zahlen oder andere Arrays, die bei beliebiger Verschachtelungstiefe weitere Zahlen und Arrays enthalten können.
Die Funktion gibt die Summe aller darin enthaltenen Zahlen auf jeder Ebene zurück.
Um die beiden Arten von Elementen zu unterscheiden, verwende is Array: element is Array ist true, wenn element ein Array ist.
Zum Beispiel gibt sum_nested([1, [2, 3], [4, [5, 6]], 7]) den Wert 28 zurück. Die Summe eines leeren Arrays ist 0.
Die Tests rufen sum_nested() selbst auf. Rufe die Funktion nicht auf und gib nichts aus.
Probier es selbst
func sum_nested(nested_array: Array):
var total := 0
for element in nested_array:
if element is Array:
# Addiere die Summe dieses inneren Arrays zu total
pass
else:
# Addiere die Zahl zu total
pass
return total
Alle Lektionen in Logik & Ablaufsteuerung
1Strings im Detail
String-MethodenIn Strings suchenErsetzen und TrimmenAufteilen und ZusammenfügenRückblick – Benutzernamen prüfen4Wörterbücher Teil 2
Verschachtelte WörterbücherArrays aus WörterbüchernWörterbücher zusammenführenWörterbücher kopierenWiederholung – Häufigkeitszähler10Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Wiederholung – Sortieren mit LambdaRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Wiederholung – Verschachteltes Array summieren13Inventarverwaltungssystem
ProjektübersichtArtikel hinzufügen2Fortgeschrittene Entscheidungsfindung
Match mit VariablenMatch-GuardsArray-MusterDictionary-MusterMitgliedschaftsprüfungenRückblick – Befehlsparser5Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen8Schülerdatenverwaltung
ProjektübersichtSchüler hinzufügen3Mehrdimensionale Arrays
Grundlagen zu 2D-ArraysAuf Elemente in 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysWiederholung – 2D-ArraysGezackte ArraysGängige Muster für 2D-ArraysWiederholung – Spielbrett6Mengen mit Dictionaries
Was ist eine Menge?Dictionary als MengeHinzufügen und EntfernenVereinigung und SchnittmengeMengendifferenzWiederholung – Duplikate entfernen9Fortgeschrittene Datenaggregation
Werte summierenMinimum und Maximum findenBenutzerdefiniertes SortierenRückblick – Wörterbuch-Sortierer12Einfache Fehlerbehandlung
Was ist Fehlerbehandlung?Eingaben validierenGuard ClausesFehlercodes zurückgebenRückblick – Sichere DivisionÜbe selbstständig: Online-GDScript-Compiler