Powtórka — sumowanie zagnieżdżonej tablicy
Część sekcji Logika i przepływ programu ścieżki GDScript w Coddy. Lekcja 59 z 78.
Wyzwanie
ŁatwyNapisz rekurencyjną funkcję o nazwie sum_nested, która przyjmuje tablicę nested_array. Jej elementami są liczby całkowite lub inne tablice, które mogą zawierać więcej liczb i tablic na dowolnym poziomie zagnieżdżenia.
Funkcja zwraca sumę wszystkich zawartych w niej liczb na każdym poziomie.
Aby odróżnić od siebie dwa rodzaje elementów, użyj is Array: element is Array ma wartość true, gdy element jest tablicą.
Na przykład sum_nested([1, [2, 3], [4, [5, 6]], 7]) zwraca 28. Suma pustej tablicy wynosi 0.
Testy same wywołują sum_nested(). Nie wywołuj tej funkcji i niczego nie wyświetlaj.
Spróbuj swoich sił
func sum_nested(nested_array: Array):
var total := 0
for element in nested_array:
if element is Array:
# Dodaj sumę tej wewnętrznej tablicy do total
pass
else:
# Dodaj liczbę do total
pass
return total
Wszystkie lekcje w sekcji Logika i przepływ programu
1Łańcuchy znaków — zagadnienia zaawansowane
Metody łańcuchów znakówWyszukiwanie w łańcuchach znakówZastępowanie i przycinanieDzielenie i łączeniePodsumowanie — sprawdzanie nazwy użytkownika4Słowniki, część 2
Zagnieżdżone słownikiTablice słownikówŁączenie słownikówKopiowanie słownikówPodsumowanie – licznik częstotliwości7Typy wyliczeniowe
Czym jest typ wyliczeniowy?Definiowanie typu wyliczeniowegoWartości typu wyliczeniowegoTypy wyliczeniowe w matchPowtórka – sygnalizacja świetlna10Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Powtórka — sortowanie za pomocą lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Powtórka — sumowanie zagnieżdżonej tablicy13System zarządzania zapasami
Omówienie projektuDodawanie produktu2Zaawansowane podejmowanie decyzji
Dopasowanie ze zmiennymiStrażnicy dopasowaniaWzorce tablicWzorce słownikówSprawdzanie przynależnościPowtórka — parser poleceń5Aplikacja książki kontaktów
Wyświetlanie menuDodawanie kontaktu8Menedżer danych studentów
Przegląd projektuDodaj studenta3Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DTablice postrzępioneTypowe wzorce tablic 2DPodsumowanie — plansza do gry6Zbiory ze słownikami
Czym jest zbiór?Słownik jako zbiórDodawanie i usuwanieSuma i część wspólnaRóżnica zbiorówPowtórka – usuwanie duplikatów9Zaawansowana agregacja danych
Sumowanie wartościZnajdowanie minimum i maksimumSortowanie niestandardowePodsumowanie – Sortownik słownikówPoćwicz samodzielnie: Kompilator GDScript online