亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

還是不明白這個r是什么意思,為什么return里self.p要乘r.q

http://img1.sycdn.imooc.com//5f6340dd00011c8203750443.jpg還是不明白這個r是什么意思,為什么return里self.p要乘r.q

正在回答

3 回答

程序里的 self.p * r.q用來計算通分后分數的分子。

這里把有理數用分數表示,有理數的運算也就成了分數的運算,如計算:1/3 + 1/5,

先進行通分變成:5/15 + 3/15,這個5/15的分子就是程序里的 self.p * r.q

4 回復 有任何疑惑可以回復我~

哦哦之前也一直沒明白,謝謝解答

0 回復 有任何疑惑可以回復我~

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就能大概理解了

4 回復 有任何疑惑可以回復我~
#1

葡萄葡萄

r1,r2應該都算是傳入的self實例吧?那這個self.p 怎么知道是r1的p還是r2的p呢?
2020-10-23 回復 有任何疑惑可以回復我~
#2

weixin_寶慕林6104750 回復 葡萄葡萄

R1和R2都是兩個實例,在Rational類里確實都進行了傳遞,但你反過來從Print(r1+r2)開始看就好理解了,別管前邊是如何的,之后當程序執行到Print(r1+r2)這一步__add__才起作用.那么程序就會默認R1為傳進去的參數,R2作為輔助數字
2021-04-09 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

還是不明白這個r是什么意思,為什么return里self.p要乘r.q

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號