课程
/后端开发
/Python
/python进阶
请问,这个类的加法是个什么算法,Rational(self.p * r.q + self.q * r.p, self.q * r.q)看不懂,谁给解释一下
2015-05-21
源自:python进阶 6-5
正在回答
分数的加法
例子,a/b+c/d ==> (a*d+c*b)/b*d
而Rational(self.p * r.q + self.q * r.p , self.q * r.q)
分子,self.p * r.q + self.q * r.p 相当于我举例的a*d+c*b
分母,self.q * r.q 相当于 我举例的b*d
有理数分为整数和分数,任何有理数都可以表示成分数. Rational类用分数表示有理数。
Rational(1, 3)表示1/3
首先括号里的表达式表示的是分数的加法运算。括号中运算的结果是2个数字,这2个数字一个分数是分子,一个分母。
Rational(p,q)的结果表示的是分数p/q
那么Rational(self.p * r.q + self.q * r.p, self.q * r.q)表示的是分数p1/q1 +分数p2/q2
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计