美文网首页
python分数的四则运算

python分数的四则运算

作者: 有心向往 | 来源:发表于2016-09-05 22:09 被阅读222次

适用于初学着看看,没有很深入的知识与语法,大神可以越过。

代码

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分数的四则运算

    适用于初学着看看,没有很深入的知识与语法,大神可以越过。 代码 r1 = Arithmetic(9, 10)r2 ...

  • Python 简单实现数学四则运算

    一、题目描述 (1)能自动生成小学四则运算题目; (2)能支持真分数的四则运算; 二、实现环境 PyCharm、P...

  • 2.第二学段

    认识自然数,经历小数和分数的形成过程,初步认识小数和分数; 能进行较复杂的整数四则运算和简单的小数、分数的加减运算...

  • 11.《唐彩斌与能力为重的小学数学》读书笔记4

    11.分数四则混合运算中,为什么有的要通分,有的却不要? 在分数的四则运算中,两个分数相加减,先把计数单位化为相同...

  • 分数除法的计算方法

    我们学习了,分数的加减法和乘法,现在还差最后一个除法就学完了分数的四则运算,那么这个分数的除法究竟是怎么计算的呢...

  • 分数的四则运算

    1、分数的表示 2、分数的化简1、负分数的情况:使down为非负数,如果分数为负,则令up为负数即可2、分数为0的...

  • 数学运算

    Python 提供的基本数据类型 int、float 可以做整数和浮点的四则运算以及乘方等运算。 但是,四则运算不...

  • 41-python中数学运算

    Python 提供的基本数据类型int、float可以做整数和浮点的四则运算以及乘方等运算。 但是,四则运算不局限...

  • 零基础学python(4)程序出题

    零基础学python(1)python的下载安装和运行零基础学python(2)四则运算计算器零基础学python...

  • 晚间剧场连三天 (三)

    第三天 一看今天的内容,小米就知道情况不容乐观。分数四则运算小星刚学会不久,分数方程肯定又要迷糊几天了。为...

网友评论

      本文标题:python分数的四则运算

      本文链接:https://www.haomeiwen.com/subject/ppslettx.html