Menu
CoddyTech

Revisão - Somando Array Aninhado

Parte da seção Lógica e fluxo do Journey de GDScript da Coddy. Lição 59 de 78.

challenge icon

Desafio

Fácil

Escreva uma função recursiva chamada sum_nested que recebe um array nested_array. Seus elementos são números inteiros ou outros arrays, que podem conter mais números e arrays, em qualquer nível de profundidade.

A função retorna a soma de todos os números contidos nele, em todos os níveis.

Para distinguir os dois tipos de elementos, use is Array: element is Array é true quando element é um array.

Por exemplo, sum_nested([1, [2, 3], [4, [5, 6]], 7]) retorna 28. A soma de um array vazio é 0.

Os testes chamam sum_nested() por conta própria. Não chame a função nem imprima nada.

Experimente você mesmo

func sum_nested(nested_array: Array):
	var total := 0
	for element in nested_array:
		if element is Array:
			# Adicione a soma deste array interno a total
			pass
		else:
			# Adicione o número a total
			pass
	return total

Todas as lições de Lógica e fluxo

Pratique por conta própria: Compilador de GDScript online