Условия задачи:
Напишите программу, в которой описана функция. В качестве аргументов функции передаются два объекта одного и того же класса. У каждого объекта есть поле, представляющее собой список из целых
чисел. В результате функция возвращает объект того же класса. Поле список этого объекта получается суммированием соответствующих элементов из полей-списков объектов, переданных аргументами функции.
Если в этих объектах списки разной длины, то недостающие элементы в списке заменяются нулями.
Решение задачи:
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()