2024/5/11

定义一个平面点类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离原点距离相同")

 

posted @ 2024-06-16 21:52  The-rich  阅读(32)  评论(0)    收藏  举报