python分数约分_python分数的四则运算
适用于初学着看看,没有很深入的知识与语法,大神可以越过。
代码
class Arithmetic(object):
def __init__(self, p, q):
self.p = p
self.q = q
//初始化四则运算分子与分母,p为分子,q为分母
def __add__(self, r):
return Arithmetic(self.p * r.q + self.q * r.p, self.q * r.q)
//加法运算
def __sub__(self, r):
return Arithmetic(self.p*r.q-self.q*r.p,self.q*r.q)
//减法运算
def __mul__(self, r):
return Arithmetic(self.p*r.p,self.q*r.q)
//乘法运算
def __div__(self, r):
return Arithmetic(self.p*r.q,self.q*r.p)
//除法运算
def __str__(self):
if self.p >self.q:
count = self.q
else:
count = self.p
def f(c):
num = 0
for n in range(0,c-1):
a = self.p/(c-n)
b = self.q/(c-n)
if a*(c-n) == self.p and b*(c-n) == self.q:
num = 1
self.p,self.q = self.p/(c-n),self.q/(c-n)
c = c/(c -n)
break;
if num == 1:
return f(c)
else:
if self.q == 1:
return '%s'%(self.p)
return '%s/%s'%(self.p,self.q)
return f(count)
//这里定义一个f()函数为了对计算结果分数进行约分最简形式。
里面对函数使用内部循环调用。
注意函数不能修改相对于他的全局变量,
这一点自己也是试了出错,才发现的,具体原因还不清楚。
__repr__ = __str__
r1 = Arithmetic(9, 10)
r2 = Arithmetic(1, 5)
print r1 + r2
print r1 - r2
print r1 * r2
print r1 / r2
#当遇到这些+-*/符号,时候会对应python语法,上面已经重写了相应的语法,会按照我们的规则进行。
第一次在简书上发布文章,python也是近期才开始学习,很多内部机制不是很了解,只是宽泛的应用了一下学习的知识。有错误的地方,希望大家指正!
python分数约分_python分数的四则运算相关推荐
- python分数约分_Python基础知识
#全部行都能输出 from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_intera ...
- python分数约分_分数如何在python中可以直接声明吗?
我们知道如果小数点后面的字数过长,我们会进行保留小数点后位数的操作.但是这样会在精准度上有所差别,当然我们也可以通过分数也避免小数点保留所带来的不精准性.不过分数在python中还不能直接使用的,需要 ...
- python怎么实现分数形式_python分数怎么表示什么
详细内容 Fraction函数是python中实现分数的一个模块(module),模块是由别人写的,并且可以被拿来直接使用的代码程序,包括类.函数以及标签的定义,是python标准函数库的一部分.使用 ...
- python将小数转为分数_Python分数
python将小数转为分数 Python分数模块 (Python fractions module) As we know, a fraction is a number which represen ...
- Python:fractions(分数)模块的使用
fractions简介 现在的分数太难算了!!!约分,通分,四则运算.简便运算,简直要把人搞疯!今天,我们就来学习一下Python内置的fractions模块,好好学习一下~ 教程! 导入fracti ...
- python计算现场得分_浅谈用 Python 计算文本 BLEU 分数
浅谈用 Python 计算文本 BLEU 分数 BLEU, 全称为 Bilingual Evaluation Understudy(双语评估替换), 是一个比较候选文本翻译与其他一个或多个参考翻译的评 ...
- http://39.98.219.132 题库标准答案(题库序号:463)之编写一个给一个分数约分的程序
序号:463 编写一个给一个分数约分的程序 Time Limit:1s Memory Limit:512MB 题目描述: 编写一个给一个分数约分的程序,如输入12 8, 输出3 2,由于12 和8的最 ...
- python输入班级姓名_c#部分---用结构体的题目- //请输入班级人数,输入每个人的学号,姓名,和语文分数、数学分数和英语分数(要求使用结构体)...
//请输入班级人数,输入每个人的学号,姓名,和语文分数.数学分数和英语分数(要求使用结构体), //求班级里两个语文分数是最高分的学生的所有信息:数学分数是最高分的两个学生的所有信息:英语平均分 建立 ...
- 如何在 Python 中从 t 分数中找到 p 值?
数据是一种宝贵的资产,在当今社会中起着至关重要的作用,因为一切都强烈依赖于数据.如今,所有技术都是数据驱动的,并且会定期生成大量数据.数据是数据科学家学会利用的未处理信息.数据科学家是分析数据源.清理 ...
最新文章
- 创建用于 ASP.NET 的分页程序控件
- NTFS 在linux上挂载,parted分区工具用法
- 快速上手RaphaelJS--RaphaelJS_Starter翻译(三)
- MyBatisPlus插件扩展_SqlExplainInterceptor执行分析插件的使用
- Jest DoneCallback 数据类型的理解
- jquery Ajax请求本地json
- 纯Java JavaFX 2.0菜单
- size_t strtok
- python 伪多线程_Python实现简单多线程任务队列
- Netflix Media Database - 架构设计和实现
- 【一周头条盘点】中国软件网(2018.1.15~2018.1.19)
- 计算机网络工程师 一共几级,2020年计算机软考网络工程师中级多少分过
- ss-panel安装笔记
- [隐写术] J_UNIWARD介绍
- 南京邮电大学操作系统实验二:线程的互斥与同步
- ms 真空层_Materials Studio学习
- java excel 饼图,java 导入导出excle 和 生成柱状图饼状图的demo/excle数据如何转成饼状图...
- Framer for UX Design 用于UX设计的Framer Lynda课程中文字幕
- 产品经理也要懂ASO
- 复合效应 达伦哈迪_哈迪·哈里里(Hadi Hariri):“我们需要研究新事物”
热门文章
- XJOI_3571_求十位数
- 3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)
- Centos7如何编译安装vim8
- VUE前端删除和批量删除
- Spring-framework 5.1.8 中文版文档(Google翻译)- 001
- 读书笔记(二十二):前端安全
- 每年的风能部署必须增长四倍,才能到2050年实现净零排放
- 字节跳动自研万亿级图数据库 图计算实践
- error: ‘stol’ was not declared in this scope
- MySQL与Oracle主键Query性能测试结果