Условия задачи:

 

Напишите программу, в которой описана функция. В качестве аргументов функции передаются два объекта одного и того же класса. У каждого объекта есть поле, представляющее собой список из целых
чисел. В результате функция возвращает объект того же класса. Поле список этого объекта получается суммированием соответствующих элементов из полей-списков объектов, переданных аргументами функции.
Если в этих объектах списки разной длины, то недостающие элементы в списке заменяются нулями.

 

Решение задачи:

class Myclass:
	def __init__(self, lst: list):
		self.lst = lst

	def show(self):
		print(f'Значение поля  lst - {self.lst}')


def foo(a, b):
	if len(a.lst) < len(b.lst):
		a.lst, b.lst = b.lst, a.lst
	new_lst = []
	for i in range(len(a.lst)):
		if i < len(b.lst):
			new_lst.append(a.lst[i] + b.lst[i])
		else:
			new_lst.append(a.lst[i])
	c = a.__class__(new_lst)
	return c
a = Myclass([1,5,8])
b = Myclass([2,7])

foo(a,b).show()