首页 > 其他分享 >2024/5/11

2024/5/11

时间:2024-06-16 21:59:04浏览次数:19  
标签:11 __ distance self 2024 other print origin

定义一个平面点类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

相关文章

  • 2024/5/12
    定义一个异常类Cexception解决日期类实现中的自定义异常处理。设计的日期类应包含以下内容:①有三个成员数据:年、月、日;②有设置日期的成员函数;③有用格式"月/日/年"输出日期的成员函数;④要求在日期设置及有参构造函数中添加异常处理。程序中定义各种日期对象并测试。classC......
  • HNUCM-2024年春季学期《算法分析与设计》练习15
    问题A:简单递归求和题目描述使用递归编写一个程序求如下表达式前n项的计算结果: (n<=100)1- 3+5-7+9-11+......输入n,输出表达式的计算结果。输入多组输入,每组输入一个n,n<=100。输出输出表达式的计算结果。样例输入 Copy12样例输出 Copy......
  • ArkTS本地化数据库SqlLight使用,鸿蒙NEXT星河版API(11)
    RelationalStore提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。谓词:数据库中用来代表数据实体的性质、特征或者数据实体之间关系的词项,主要用来定义数据库的操作条件。结果......
  • 2024年Java后端开发学习路线(建议收藏!)
    第二部分:Java高级在Java高级中,我们应该要熟练掌握。Java多线程/高并发,数据结构和算法,设计模式和JVM。第三部分:JavaWEB学习JavaWeb也就算正式开始了Java项目的开发,在这个阶段需要掌握Tomcat服务器的搭建,数据的传输。第四部分:主流框架和项目管理在这个阶段,我们需要......
  • [240615] X-CMD 发布 v0.3.11,增加对 elvish 的支持
    目录X-CMD发布v0.3.11,增加对elvish的支持,并优化对nushell,fish,xonsh,tcsh的支持✨co模块-copilot✨elv模块✨hubX-CMD发布v0.3.11,增加对elvish的支持,并优化对nushell,fish,xonsh,tcsh的支持✨co模块-copilot新增功能:现在可以在--co|,子命......
  • SCCPC 2024 游记
    省流:都是uuz的问题比赛前晚5.2h幽默睡眠。9点开考,然后uuz签到失败,byd这都要吃一发罚时。然后开考前1hnit给出了3个假做法,看错了两个题/strongzhicheng稳定发挥,屠杀了剩下的签到和模拟题。期间跟uuz讨论G,发现怎么写都是\(\log^3\)的逆天复杂度,讨论了半个......
  • 2024/6/16 今日随笔
    一、实验目的通过使用JavaMVC模式设计简单的数据库管理系统,巩固使用JDBC技术访问数据库的方法,学习使用Java语言对服务器端进行编程,深入理解MVC网站设计模式的基本概念和框架结构。二、实验内容和基本要求从以下列举的四个数据库中,任选其一,或者自行定义其他数据库,每个数据库中......
  • emojiCTF2024
    看到一个新生赛,来打打,发现自己还是太菜了连最正常的hash扩展一开始都没看出来,丢大脸这次就巩固了一下hash扩展密码其他的都是常规题了其他方向基本不会,新生赛都打不了,(哭crypto签到0111001001111010011000100111011101110110010100000100011101010011011110110011000101100......
  • 2024数据库期末综合解析(部分题)
    目录第4关:数据记录修改           任务描述              补充                答案:第6关:数据查询二         任务描述            补充 ......
  • [转]32th@深入解析C++并发编程:从多线程到现代C++并发库@20240616
    深入解析C++并发编程:从多线程到现代C++并发库你有没有想过,为什么C++在多线程并发编程方面如此强大?C++11标准的发布,为并发编程带来了哪些革命性的变化?本文将深入探讨C++并发编程背后的技术原理,带你领略现代C++并发库的强大之处。文章将结合代码片段,为你揭示C++并发编程的精髓。1.......