Danzan
Гуру
(3546)
11 месяцев назад
Конечно, держи, братка:
class num_list:
def __init__(self, numbers):
self.numbers = numbers
def __add__(self, other):
if len(self.numbers) != len(other.numbers):
raise ValueError("Списки должны быть одинаковой длины для добавления.")
result = [x + y for x, y in zip(self.numbers, other.numbers)]
return num_list(result)
def __sub__(self, other):
if len(self.numbers) != len(other.numbers):
raise ValueError("Списки должны быть одинаковой длины для вычитания.")
result = [x - y for x, y in zip(self.numbers, other.numbers)]
return num_list(result)
def __repr__(self):
return str(self.numbers)
# Пример использования
a = num_list([1, 2, 3])
b = num_list([3, 2, 1])
print(a + b) # [4, 4, 4]
print(a - b) # [-2, 0, 2]
DanzanГуру (3546)
11 месяцев назад
Короч, этот класс перегружает операторы + и - для выполнения операций сложения и вычитания списков, соответственно. Кроме того, метод __repr__ используется для представления объекта в виде строки при выводе.