Ripasso - Somma di un array annidato
Fa parte della sezione Logica e flusso del percorso GDScript di Coddy. Lezione 59 di 78.
Sfida
FacileScrivi una funzione ricorsiva chiamata sum_nested che accetta un array nested_array. I suoi elementi sono numeri interi o altri array, che possono contenere altri numeri e array, a qualsiasi livello di profondità.
La funzione restituisce la somma di tutti i numeri contenuti, a ogni livello.
Per distinguere i due tipi di elementi, usa is Array: element is Array è true quando element è un array.
Per esempio, sum_nested([1, [2, 3], [4, [5, 6]], 7]) restituisce 28. La somma di un array vuoto è 0.
I test chiamano direttamente sum_nested(). Non chiamarla e non stampare nulla.
Provalo tu
func sum_nested(nested_array: Array):
var total := 0
for element in nested_array:
if element is Array:
# Aggiungi la somma di questo array interno a total
pass
else:
# Aggiungi il numero a total
pass
return total
Tutte le lezioni di Logica e flusso
1Stringhe in dettaglio
Metodi delle stringheRicerca nelle stringheSostituzione e trimDividere e unireRipasso - verifica del nome utente4Dizionari - Parte 2
Dizionari annidatiArray di dizionariUnire dizionariCopiare dizionariRiepilogo - Contatore di frequenza7Enumerazioni
Che cos'è un'enumerazione?Definire un'enumerazioneValori dell'enumerazioneEnumerazioni in MatchRiepilogo - Semaforo10Funzioni avanzate
Restituire più valoriFunzioni lambda - Parte 1Funzioni lambda - Parte 2Ripasso - Ordinamento con lambdaFunzioni ricorsive - Parte 1Funzioni ricorsive - Parte 2Ripasso - Somma di un array annidato13Sistema di gestione dell'inventario
Panoramica del progettoAggiungere un articolo2Decisioni avanzate
Match con variabiliGuardie di matchPattern per arrayPattern per dizionariVerifiche di appartenenzaRiepilogo - Parser di comandi5Applicazione Rubrica
Visualizzare il menuAggiungere un contatto8Gestione dei registri degli studenti
Panoramica del progettoAggiungi studente11Funzioni di ordine superiore
Il metodo mapIl metodo filterIl metodo reduceany e allRipasso - Validatore di emailRipasso - Elaboratore di numeri3Array multidimensionali
Fondamenti degli array 2DAccedere agli elementi di un array 2DCicli annidati con array 2DRipasso - Array 2DArray frastagliatiSchemi comuni con gli array 2DRipasso - Tabellone di gioco6Insiemi con i dizionari
Che cos'è un insieme?Il dizionario come insiemeAggiungere e rimuovereUnione e intersezioneDifferenza tra insiemiRiepilogo - Rimuovere i duplicati9Aggregazione avanzata dei dati
Somma dei valoriTrovare minimo e massimoOrdinamento personalizzatoRiepilogo - Ordinatore di dizionariEsercitati da solo: Compilatore GDScript online