Podsumowanie — suma elementów zagnieżdżonej listy
Część sekcji Logika i przepływ programu ścieżki Python w Coddy. Lekcja 62 z 78.
Wyzwanie
ŁatwyNapisz funkcję rekurencyjną o nazwie sum_nested, która przyjmuje zagnieżdżoną listę nested_list jako argument. Funkcja powinna:
- Dodać wszystkie liczby całkowite z listy, w tym liczby całkowite z dowolnych podlist.
- Zwrócić łączną sumę jako liczbę całkowitą.
Możesz sprawdzić, czy element jest listą, używając
isinstance(element, list)
Przykładowe dane wejściowe:
nested_list = [1, [2, 3], [4, [5, 6]], 7]Przykładowe dane wyjściowe:
28Spróbuj swoich sił
def sum_nested(nested_list):
total = 0
for element in nested_list:
if isinstance(element, list): # Sprawdź, czy element jest listą
# TODO: Wywołaj rekurencyjnie sum_nested dla podlisty i dodaj wynik do total
pass
else:
# TODO: Dodaj liczbę całkowitą bezpośrednio do total
pass
return totalWszystkie lekcje w sekcji Logika i przepływ programu
1Odkrywanie zmiennych
StałeWielokrotne przypisania zmiennychZamiana zmiennychZmienne zastępczeZaokrąglanie liczbKonwersja na listę4Aplikacja książki kontaktów
Wyświetl menuDodaj kontakt7Zbiory — część 2
Działania matematyczne — część 1Działania matematyczne — część 2Powtórka — poszukiwanie skarbówPodzbiory i nadzbioryIterowanie po zbiorachPowtórka — śledzenie turnieju10Podstawowe składanie list
SkładniaTworzenie prostych listDodawanie warunkówUżywanie agregacji danychPowtórka – dom listPowtórka – elementy wolności13System zarządzania zapasami
Przegląd projektuDodawanie produktu2Słowniki — część 1
Czym jest słownik?Tworzenie słownikaDostęp do wartościModyfikowanie słownikówPowtórzenie — menedżer przepisów5Zaawansowane podejmowanie decyzji
Operator warunkowySprawdzanie przynależnościSprawdzanie tożsamościBłędy wcięćPowtórka — filtr wakacyjny8Menedżer rekordów uczniów
Przegląd projektuDodawanie ucznia11Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Wyzwanie podsumowujące — sortowanie z lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Podsumowanie — suma elementów zagnieżdżonej listy14Funkcje wyższego rzędu
Funkcja mapFunkcja filterPodsumowanie – walidator adresów e-mailPodsumowanie – procesor liczb3Słowniki, część 2
Metody słownikówZagnieżdżone słownikiSprawdzanie kluczyIterowanie po słownikachPowtórzenie — licznik częstotliwości9Zaawansowana agregacja danych
Używanie sumyZnajdowanie minimum i maksimumEfektywne sortowanie danychPowtórka – sortowanie słowników12Podstawowa obsługa błędów
Czym jest obsługa błędów?Blok try i exceptObsługa wielu wyjątkówPodsumowanie – błędy w koszyku zakupowymPoćwicz samodzielnie: Kompilator Python online