数据结构python语言描述课后答案_《数据结构与算法Python语言描述》习题第二章第三题(python版)...
1 #!/usr/bib/env python
2 #-*- coding:utf-8 -*-
3
4 """
5 ADT Rational: #定义有理数的抽象数据类型6 Rational(self, int num, int den) #构造有理数num/den7 +(self, Rational r2) #求出本对象加r2的结果8 -(self, Rational r2) #求出本对象减r2的结果9 *(self, Rational r2) #求出本对象乘以r2的结果10 /(self, Rational r2) #求出本对象除以r2的结果11 num(self) #取出本对象的分子12 den(self) #取出本对象的分母13 int(self) #取整14 float(self) #取浮点数15 ==(self,Rational r2)16 !=(self,Rational r2)17 >(self,Rational r2)18 =(self,Rational r2)20 >=(self,Rational r2)21 """
22
23 classRational(object):24 __slots__ = ('_num', '_den')25
26 @staticmethod27 def_gcd(m,n):28 while 1:29 temp = n %m30 if temp ==0:31 returnm32 else:33 n =m34 m =temp35
36 def __init__(self, num, den=1):37 if not isinstance(num, int) or notisinstance(num, int):38 raiseTypeError39 if den ==0:40 raiseZeroDivisionError41 sign = 1
42 if num <0:43 num, sign = -num, -sign44 if den <0:45 den, sign = -den, -sign46 g =Rational._gcd(num, den)47 self._num = sign*(num//g)48 self._den = den//g49
50 #float
51 x = self._num /self._den52 self._num =x.as_integer_ratio()[0]53 self._den = x.as_integer_ratio()[1]54
55 def __add__(self, other):56 den = self._den *other._den57 num = self._den * other._num + self._num *other._den58 returnRational(num, den)59
60 def __sub__(self, other):61 den = self._den *other._den62 num = self._num * other._den - self._den *other._num63 returnRational(num, den)64
65 def __mul__(self, other):66 den = self._den *other._den67 num = self._num *other._num68 returnRational(num, den)69
70 def __floordiv__(self, other):71 den = self._den *other._num72 num = self._num *other._den73 returnRational(num, den)74
75 def __int__(self):76 return self._num //self._den77
78 def __float__(self):79 return self._num /self._den80
81 def __eq__(self, other):82 return self._num * other._den == self._den *other._num83
84 def __ne__(self, other):85 return self._num * other._den != self._den *other._num86
87 def __lt__(self, other):88 return self._num * other._den < self._den *other._num89
90 def __le__(self, other):91 return self._num * other._den <= self._den *other._num92
93 def __gt__(self, other):94 return self._num * other._den > self._den *other._num95
96 def __ge__(self, other):97 return self._num * other._den >= self._den *other._num98
99
100 def __str__(self):101 return str(self._num) + "/" +str(self._den)102
103 def print(self):104 print(self._num, "/", self._den)105
106 defnum(self):107 returnself._num108 defden(self):109 returnself._den110
111 if __name__ == '__main__':112 a = Rational(10,5)113 b = Rational(1,1000000)114 print(a)115 print(b)116 print("==")117 print(a+b)118 print(a!=b)119 print(int(a))120 print(int(b))
数据结构python语言描述课后答案_《数据结构与算法Python语言描述》习题第二章第三题(python版)...相关推荐
- python数据结构题目_《数据结构与算法Python语言描述》习题第二章第三题(python版)...
ADT Rational: #定义有理数的抽象数据类型 Rational(self, int num, int den) #构造有理数num/den +(self, Rational r2) #求出本 ...
- 数据结构python课后答案_数据结构与算法:Python语言描述 1~5章课后习题
数据结构与算法:Python语言描述 1~5章课后习题 发布时间:2018-07-19 20:42, 浏览次数:1885 , 标签: Python MarkDown语法写的,不知道为啥上传到CSDN不 ...
- 知道python语言应用2020答案_热点:大学moocPython语言基础与应用答案
2020年智慧树网课答案为您详细解读azMisb热点:大学moocPython语言基础与应用答案的详情,题主的教授应该是想要同学们找出一个值得研究和讨论的theory,简单来说就是你论文探讨的中心.然 ...
- 智慧树python程序设计基础课后答案_智慧树知到Python程序设计基础作业题库答案...
[单选] 教师在游戏中与幼儿扮演同一个角色,以自己游戏的动作.角色的语言和对角色的态度来启发诱导幼儿,这是(). [多选] 根据玩具自身的内部结构,玩具可分为(). [单选] 人格的()是指人的思想感 ...
- python雨课堂课后答案_高校邦网络数据采集与Python爬虫课后习题答案
以下程序段的输出结果是( ). int a=13,b=21,m=0; switch(a%3) { case 0:m++;break; case 1:m++; switch(b%2) { default ...
- 智慧树python程序设计基础课后答案_智慧树Python程序设计基础答案完整
动物肝炎.肾炎时会导致组织水肿,其主要机制是()A.血浆晶体渗透压降低B.血浆胶体渗透压降低C.血 能与糖形成苷的天然产物仅仅是一小部分.() 10Ω和20Ω的电阻串联接在12V的电源上,它们消耗的功 ...
- python与统计分析课后答案_高校邦Python科学计算课后习题答案
能与碱液反应生成红色的化合物是 答:大黄素 关于坚持一个中国的原则两说法错误的是 答:大陆和台湾同属一个中国的事实已经改变 弗洛伊德认为"如果性满足轻易可以获得,一切美好的追求会变得停滞不前 ...
- 智慧树python程序设计基础课后答案_智慧树Python程序设计基础大学课后答案
A.errandB.choreC.assignmentD.mission [B13]A.heritageB.revisionC.notionD.version A.inputsB.documentsC ...
- python教程课后答案-python程序设计教程课后答案
python程序设计教程课后答案内容摘要 品牌计算机在功能性方面的python视频教程 计算机的功能是计算机python视频教程的灵魂.而品牌计算机的python视频教程,在功能上是合理安排的,更加有 ...
最新文章
- 植树节特别活动:合种樟子松/华山松/云杉/胡杨
- ASP.NET 2.0 页面编译方式
- ubuntu权限管理
- Windows XP环境下Apache2.2.21和Tomcat7.0.26下的整合
- python脚本编写_如何用Python包编写一个简单的脚本,表达你对父母的爱?
- 专题导读:大数据创新实践
- 疫情病毒全部“抹杀”?用数据模型来解读传播抑制的效果差异!
- 远程协同网络架构photon cloud
- 分享几个简单易做的Java小程序,一起动手来试试吧
- SharePoint 模拟审批Nintex工作流
- spark实现 通过ratings.dat和movies.dat两个文件得到平均得分超过4.0的电影列表
- Hadoop介绍和环境配置
- 迅雷大乱,突现“两个迅雷”
- 基于abaqus的各向异性材料的抗拔力学性能分析
- Python实现自动化办公(三):Python对PPT文档的基本操作(python-pptx)
- python 中运行 pip 或者 easy_install 时出现 error: unable to find vcvarsall.bat 的解决办法
- MongoDB副本集概述,副本集是什么?有什么用?
- 反向棘轮效应与人情货币困局下拼多多如何进入五环?
- 使用apache的FTPClient下载特别慢的问题
- VUE CSS流动边框特效(二)
热门文章
- ios 自定义拍照页面_30分钟搞定iOS自定义相机
- maven下载安装环境配置
- python就业有哪些方向_Python就业有哪些方向?最全信息在这里!
- mock测试_【Postman】16 Postman使用mock进行挡板测试(1)
- Python之网络编程(一)
- JavaMail实践--实现邮件发送
- kubernetes 日志定制查阅 - 排错 -- 好用的命令
- Windows python3.6 安装 gevent库
- python爬虫网页图片并保存到本地
- android报错:org.ksoap2.SoapFault cannot be cast to org.ksoap2.serialization.SoapObject