Сумма результатов заданий по очереди

Задача по программированию с проверкой онлайн

Сложность
Лёгкая
Языки
Python
JavaScript
TypeScript
Темы
Асинхронность и потоки
Массивы и списки

Дан список заданий jobs. Задание — асинхронная функция без аргументов: вызовите её (await job()), чтобы выполнить; она может завершиться ошибкой (исключением).

Выполняйте задания по одному, в порядке списка: следующее начинайте, когда предыдущее закончилось. Верните сумму значений заданий, которые завершились успешно. Задание, завершившееся ошибкой, пропустите (оно прибавляет 0) и переходите к следующему. Для пустого списка верните [0, 0]. Заданий до 50, значения целые.

Ответ — список из двух чисел: этот результат и время в миллисекундах от вызова функции до момента, когда она закончила. Текущее время в миллисекундах: Date.now() в JS/TS, round(asyncio.get_running_loop().time() * 1000) в Python.

Пример: задания длятся 10, 5 и 10 мс, первое возвращает 10, второе завершается ошибкой, третье возвращает 6 → [16, 25].


Источник: задача CodeShare

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки