@dmit20141

Как решить задачу про n-мерный вектор c помощью магических методов?

Помогите с решением задачи:

"Реализуйте класс «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)


Подскажите, как это можно реализовать хотя бы на примере сложения векторов
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы