Я использую Python, чтобы попытаться получить сумму квадратов неотрицательных чисел некоторых кортежей в списке: lst1 = [(3, ('-5', '-4', '4')), (2, ('2', '4')), (3, ('-6', '4', '3'))]
Итак, lst1 — это мой список, в котором первым элементом является кортеж: (3, ('-5', '-4', '4')) #3 указывает, сколько элементов в этом конкретном кортеже
Итак, у меня есть две функции, первая функция (т.е. итерация) вычисляет сумму квадратов неотрицательного числа в кортеже. Вторая функция (т. е. iterateList) будет проходить по списку lst1, кортеж за кортежем, чтобы вычислить сумму квадратов в каждом кортеже. По сути, она вызывает первую функцию, а затем возвращает список, где каждый элемент в списке представляет собой сумму квадратов каждого отдельного кортежа, поскольку я создаю список, объединяя их с помощью + в моей функции iterateList.
def iterate(lst, start, end): если начало >= конец: вернуть 0 еще: если (int (lst[start])) < 0: return iterate(lst, start+1, end) еще: return (int(lst[start]))**2 + итерация(lst, start+1, end) def iterateList(lst, start, end): если начало >= конец: возвращаться еще: print("значение start:", start) печать(lst[начало]) печать(lst[начало][1]) return [iterate(lst[start][1], 0, lst[start][0])] + iterateList(lst[start+1][1], 0, список[начало+1][0]) lst1 = [(3, ('-5', '-4', '4')), (2, ('2', '4')), (3, ('-6', '4', '3'))] Однако я продолжаю получать сообщение об ошибке ИНДЕКС ВНЕ ДИАПАЗОНА:

Я думаю, это связано со второй итерацией внутри функции iterateList. Но я просто не знаю, как это исправить и где именно находится ошибка. Я добавил оператор печати, чтобы проверить, где находится ошибка. Кажется, это происходит со вторым элементом в списке: (2, ('2','4'))
но я просто не уверен, о каком диапазоне идет речь, когда появляется сообщение об ошибке «ИНДЕКС ВНЕ ДИАПАЗОНА».
может кто-нибудь любезно мне помочь.
спасибо