Повторение — сумма вложенного массива
Часть раздела Логика и потоки выполнения путешествия по GDScript на Coddy. Урок 59 из 78.
Задание
ЛегкоНапиши рекурсивную функцию с именем sum_nested, которая принимает массив nested_array. Его элементы — целые числа или другие массивы, которые могут содержать дополнительные числа и массивы на любой глубине.
Функция возвращает сумму всех чисел в массиве на всех уровнях.
Чтобы различать два вида элементов, используй is Array: выражение element is Array равно true, когда element — массив.
Например, sum_nested([1, [2, 3], [4, [5, 6]], 7]) возвращает 28. Сумма пустого массива равна 0.
Тесты сами вызывают sum_nested(). Не вызывай её и ничего не выводи.
Попробуйте сами
func sum_nested(nested_array: Array):
var total := 0
for element in nested_array:
if element is Array:
# Добавьте сумму этого внутреннего массива к total
pass
else:
# Добавьте число к total
pass
return total
Все уроки раздела Логика и потоки выполнения
1Строки: углублённое изучение
Методы строкПоиск в строкахЗамена и обрезка пробеловРазделение и объединениеПовторение — проверка имени пользователя4Словари. Часть 2
Вложенные словариМассивы словарейОбъединение словарейКопирование словарейПовторение — подсчёт частоты10Продвинутые функции
Возврат нескольких значенийЛямбда-функции. Часть 1Лямбда-функции. Часть 2Повторение — сортировка с помощью лямбда-функцииРекурсивные функции. Часть 1Рекурсивные функции. Часть 2Повторение — сумма вложенного массива13Система управления запасами
Обзор проектаДобавление товара2Продвинутое управление ветвлением
Сопоставление с переменнымиУсловия в шаблонахШаблоны массивовШаблоны словарейПроверка принадлежностиИтоги — парсер команд5Приложение «Телефонная книга»
Показать менюДобавить контакт8Менеджер успеваемости студентов
Обзор проектаДобавить студента3Многомерные массивы
Основы двумерных массивовДоступ к элементам двумерного массиваВложенные циклы с двумерными массивамиПовторение: двумерные массивыРваные массивыТипичные шаблоны работы с двумерными массивамиПовторение: игровое поле6Множества и словари
Что такое множество?Словарь как множествоДобавление и удалениеОбъединение и пересечениеРазность множествПовторение — удаление дубликатовПотренируйтесь самостоятельно: Онлайн-компилятор GDScript