定义一个平面点类Point,对其重载运算符关系运算符,关系运算以距离坐标原点的远近作为基准,远的为大。
程序完成对其的测试。
import math class Point: def __init__(self, x=0, y=0): self.x = x self.y = y def distance_to_origin(self): return math.sqrt(self.x ** 2 + self.y ** 2) def __lt__(self, other): return self.distance_to_origin() < other.distance_to_origin() def __le__(self, other): return self.distance_to_origin() <= other.distance_to_origin() def __eq__(self, other): return self.distance_to_origin() == other.distance_to_origin() def __ne__(self, other): return self.distance_to_origin() != other.distance_to_origin() def __gt__(self, other): return self.distance_to_origin() > other.distance_to_origin() def __ge__(self, other): return self.distance_to_origin() >= other.distance_to_origin() # 创建点对象 point1 = Point(3, 4) point2 = Point(1, 1) print("Point1 ( 3 , 4 )") print("Point2 ( 1 , 1 )") # 测试关系运算符 print(f"Point1距离原点的距离: {point1.distance_to_origin()}") print(f"Point2距离原点的距离: {point2.distance_to_origin()}") if point1 > point2: print("Point1离原点更远") elif point1 < point2: print("Point2离原点更远") else: print("Point1和Point2离原点距离相同")
标签:11,__,distance,self,2024,other,print,origin From: https://www.cnblogs.com/drz1145141919810/p/18251337