Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##Разработать класс «2-мерный вектор», конструктор для инициализации, метод ввода, метод вывода __str__, перегруженную операцию
- ##< (меньше) сравнения длин дух векторов. Создать собственное исключение при проверке равенства одной из координат нулю при инициализации и
- ##установке. В установке добавить обработку этого исключения: вывести сообщение и вызвать метод ввода еще раз. В главной функции организовать
- ##тестирование всех возможностей разработанного класса.
- class NullValInitExcption(Exception):
- def __init__(self):
- x = "ctho-to"
- def __str__(self):
- return "NullValInitExcption has been raised"
- class Vector:
- def __init__(self, X, Y):
- self.__x = X
- self.__y = Y
- try:
- if self.__x == 0 and self.__y == 0:
- raise NullValInitExcption()
- except NullValInitExcption as e:
- print(e)
- def __lt__(self, other):
- self_mag = (self.__x ** 2) + (self.__y ** 2)
- other_mag = (other.__x ** 2) + (other.__y ** 2)
- return self_mag < other_mag
- def v_set(self, X, Y):
- self.__x = X
- self.__y = Y
- try:
- if self.__x == 0 and self.__y == 0:
- raise NullValInitExcption()
- except NullValInitExcption as e:
- print(e)
- def v_get(self):
- return [self.__x, self.__y]
- V = Vector(0., 1)
- V.v_set(float(input()), float(input()))
- T = Vector(2., 2.)
- print(V<T)
- V.v_set(0., 0.)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement