Требуется написать функцию my_sum(), которая принимает на вход неограниченное число аргументов, а возвращает список из промежуточных сумм этих элементов:
Нулевой элемент возвращаемого списка равен 0, первый элемент - первое переданное число, второй элемент - сумма первого и второго переданных чисел, третий элемент - сумма первого, второго и третьего и т.д.
Обратите внимание, что функция должна принимать не список, а именно неограниченное число аргументов.
Ответы
Відповідь:
Вот возможная реализация функции my_sum(), удовлетворяющая заданным требованиям:
python
def my_sum(*args):
result = [0]
current_sum = 0
for arg in args:
current_sum += arg
result.append(current_sum)
return result
Функция использует специальный синтаксис *args, который позволяет передавать неограниченное число аргументов в виде кортежа. Внутри функции мы итерируемся по всем переданным аргументам, вычисляя промежуточную сумму и добавляя ее в результирующий список.
Пример использования функции:
python
print(my_sum(1, 2, 3, 4)) # [0, 1, 3, 6, 10]
print(my_sum(0, 1, -1, 2, -2)) # [0, 0, 1, 0, 2, 0]
В первом примере мы передаем числа 1, 2, 3 и 4 в функцию, и она возвращает список [0, 1, 3, 6, 10], который соответствует промежуточным суммам этих чисел.
Во втором примере мы передаем числа 0, 1, -1, 2 и -2, и функция возвращает список [0, 0, 1, 0, 2, 0], который соответствует промежуточным суммам этих чисел. Обратите внимание, что сумма -1 и 2 равна 1, но сумма -1, 2 и -2 равна 0, что отражается в списке результатов.
Пояснення: