Программист пишет функцию вычисления произведения всех элементов списка:
def product_all(numbers): result = 0 for n in numbers: result *= n return result
Что вернёт product_all([2, 3, 5]) и в чём причина?
product_all([2, 3, 5])
Вернёт 0: аккумулятор инициализирован нулём, и первое же умножение обнуляет результат
0
Вернёт 30: функция работает корректно, инициализация нулём не влияет на умножение
30
Вернёт 10: цикл пропускает первый элемент и перемножает только оставшиеся два
10
Вернёт 1: цикл отрабатывает, но *= с нулём сбрасывается к нейтральному элементу
1
*=
Возникнет TypeError: оператор *= не применим к переменной, инициализированной нулём
TypeError