# Написать функцию split_and_add(arr, n), на вход которой приходит список чисел arr и количество итераций # выполнения n. На каждой итерации необходимо делить спсиок на два и возвращать список поэлементных сумм. # # Пример: # split_and_add([1,2,3,4,5], 2) # итерация 1 итерация 2 # разбиение [1,2] и [3,4,5] разбиение [3] и [5,7] # сумма + [1,2] сумма + [3] # [3,4,5] [5,7] # = [3,5,7] = [5,10] (ответ) import traceback def split_and_add(arr, n): # Тело функции return [] # Тесты try: assert split_and_add([1,2,3,4,5], 2) == [5,10] assert split_and_add([1,2,3,4,5], 3) == [15] assert split_and_add([32,45,43,23,54,23,54,34], 2) == [183, 125] except AssertionError: print("TEST ERROR") traceback.print_exc() else: print("TEST PASSED")
w_0_n_k_a, # Написать функцию split_and_add(arr, n), на вход которой приходит список чисел arr и количество итераций # выполнения n. На каждой итерации необходимо делить спсиок на два и возвращать список поэлементных сумм. # # Пример: # split_and_add([1,2,3,4,5], 2) # итерация 1 итерация 2 # разбиение [1,2] и [3,4,5] разбиение [3] и [5,7] # сумма + [1,2] сумма + [3] # [3,4,5] [5,7] # = [3,5,7] = [5,10] (ответ) import traceback def split_and_add(arr, n): # Тело функции return [] # Тесты try: assert split_and_add([1,2,3,4,5], 2) == [5,10] assert split_and_add([1,2,3,4,5], 3) == [15] assert split_and_add([32,45,43,23,54,23,54,34], 2) == [183, 125] except AssertionError: print("TEST ERROR") traceback.print_exc() else: print("TEST PASSED")
ivy, def split_and_add(arr, n): arr1, arr2, new_arr = [], [], [] for i in range(n): for j in range(len(arr) // 2): arr1.append(arr[j]) arr2.append(arr[-j-1]) arr2 = arr2[::-1] if len(arr) % 2 != 0: arr2 = arr2[::-1] arr2.append(arr[len(arr) // 2]) arr2 = arr2[::-1] for j in range(len(arr1)): new_arr.append(arr1[-j-1]+arr2[-j-1]) if len(arr) % 2 != 0: new_arr.append(arr2[0]) arr = new_arr[::-1] arr1, arr2, new_arr = [], [], [] return(arr) тут нормально https://pastebin.com/EWVjdEfy