Помогите с решением задачи:
"Реализуйте класс «n-мерный» вектор. У этого класса должны быть определены следующие операции: 1) сложение; 2)вычитание; 3)умножение на константу. Задачу решите стандартными методами python"
Я написал следующий код и он вроде работает:
class vect:
def __init__(self, *a):
self.a = a
def plus(self, *plus):
res_plus = [vi + wi for vi, wi in zip(self.a, plus)]
return res_plus
def minus(self, *minus):
res_minus = [vi - wi for vi, wi in zip(self.a, minus)]
return res_minus
def multiply(self, mult):
res_multiply = [mult * vi for vi in self.a]
return res_multiply
x = vect(1,2,3)
print('plus:', x.plus(3,2,1))
Но хотелось бы попробовать переписать класс с магическими методами, чтобы можно было писать запрос так:
a = n_vector(1, 2, 3)
b = n_vector(2, 3, 4)
print(b - a)
Подскажите, как это можно реализовать хотя бы на примере сложения векторов