Здравствуйте!
Стоит задача вернуть длину вектора при помощи функции len(). Класс вектора инициализируется координатами x и y.
class Vector:
def __init__(self, x, y):
self.x = x
self.y = y
def __len__(self):
return math.sqrt(self.x**2 + self.y**2) # TypeError: 'float' object cannot be interpreted as an integer
Задание:
Реализовать класс 2-мерных векторов Vec2d — определить основные математические операции: сумма Vec2d.__add__, разность Vec2d.__sub__, умножение на скаляр и скалярное умножение (Vec2d.__mul__); добавить возможность вычислять длину вектора a через len(a); добавить метод int_pair для получение пары (tuple) целых чисел.
Функция len() возвращает int. Как вернуть float?
P.S. Это из курса на курсере.