Дан список items любой глубины вложенности. Элементы — целые числа, строки или такие же списки.
Верните сумму: число прибавляется как есть, у строки берётся самая длинная последовательность цифр в её начале ("15 руб" → 15, "руб 15" → 0, "007" → 7). Готовые flat и аналоги не используйте.
В работе: Сумма по чеку, который пришёл из разных источников: где-то число, где-то строка «350 ₽», где-то вложенный список позиций.
Пример 1
Ввод
items = [1, "x", "2x", ["3", ["x2", "5"]]]
Вывод
11
1 + 2 + 3 + 5 = 11, пример из задачи.
Пример 2
Ввод
items = [[], [[]], "abc"]
Вывод
0
Ни одного числа — ответ 0.
Ограничения
- Всего элементов ≤ 10⁵
- Глубина вложенности ≤ 10⁴
- Числа целые, |x| ≤ 10⁹; строки до 20 символов
- Лимит — 1 с на тест.
Как вызывается ваш код
Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула.
print() и console.log() уходят в консоль.
def nested_sum(items):
Источник: Яндекс, фронтенд, репозиторий кандидата на GitHub, 2024. Условие пересказано своими словами.
Давали на собеседовании?
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.