还是不明白这个r是什么意思,为什么return里self.p要乘r.q

来源:4-4 Python类的数学运算

糖炒栗子不加糖

2020-09-17 18:58

http://img.mukewang.com/5f6340dd00011c8203750443.jpg还是不明白这个r是什么意思,为什么return里self.p要乘r.q

写回答 关注

3回答

  • 慕盖茨7031404
    2020-09-19 15:21:31
    已采纳

    程序里的 self.p * r.q用来计算通分后分数的分子。

    这里把有理数用分数表示,有理数的运算也就成了分数的运算,如计算:1/3 + 1/5,

    先进行通分变成:5/15 + 3/15,这个5/15的分子就是程序里的 self.p * r.q

  • qq_狐耳小乖们_0
    2020-09-24 16:15:54

    哦哦之前也一直没明白,谢谢解答

  • 小白violet
    2020-09-24 15:44:32

    r1=(1,2),r2=(2,3),r1其实是二分之一,r2其实是三分之二。r1+r2,计算的结果其实是(1*3+2*2)/(2*3).self.p=1,self.q=2,r是r2的参数,r.p=2,r.q=3.你手动算算两个分数相加,怎么做,当然是先把分母同分,分母找最大公约数最简单的方法就是两个分母相乘。建议你看看源码中的truediv就能大概理解了

    weixin... 回复葡萄葡萄

    R1和R2都是两个实例,在Rational类里确实都进行了传递,但你反过来从Print(r1+r2)开始看就好理解了,别管前边是如何的,之后当程序执行到Print(r1+r2)这一步__add__才起作用.那么程序就会默认R1为传进去的参数,R2作为辅助数字

    2021-04-09 14:40:43

    共 2 条回复 >

Python3 进阶教程(新版)

学习函数式、模块和面向对象编程,掌握Python高级程序设计

41910 学习 · 236 问题

查看课程

相似问题