python分?jǐn)?shù)的四則運(yùn)算

適用于初學(xué)著看看派殷,沒(méi)有很深入的知識(shí)與語(yǔ)法,大神可以越過(guò)墓阀。

代碼

class Arithmetic(object):
def __init__(self, p, q):
    self.p = p
    self.q = q  
   //初始化四則運(yùn)算分子與分母毡惜,p為分子,q為分母

def __add__(self, r):
    return Arithmetic(self.p * r.q + self.q * r.p, self.q * r.q)
    //加法運(yùn)算

def __sub__(self, r):
    return Arithmetic(self.p*r.q-self.q*r.p,self.q*r.q)
    //減法運(yùn)算

def __mul__(self, r):
    return Arithmetic(self.p*r.p,self.q*r.q)
     //乘法運(yùn)算
  
def __div__(self, r):
    return Arithmetic(self.p*r.q,self.q*r.p)
    //除法運(yùn)算

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)
    //這里定義一個(gè)f()函數(shù)為了對(duì)計(jì)算結(jié)果分?jǐn)?shù)進(jìn)行約分最簡(jiǎn)形式斯撮。
      里面對(duì)函數(shù)使用內(nèi)部循環(huán)調(diào)用经伙。
      注意函數(shù)不能修改相對(duì)于他的全局變量,
     這一點(diǎn)自己也是試了出錯(cuò)勿锅,才發(fā)現(xiàn)的帕膜,具體原因還不清楚。

__repr__ = __str__

r1 = Arithmetic(9, 10)
r2 = Arithmetic(1, 5)
print r1 + r2
print r1 - r2
print r1 * r2
print r1 / r2

#當(dāng)遇到這些+-*/符號(hào)粱甫,時(shí)候會(huì)對(duì)應(yīng)python語(yǔ)法泳叠,上面已經(jīng)重寫(xiě)了相應(yīng)的語(yǔ)法,會(huì)按照我們的規(guī)則進(jìn)行茶宵。

第一次在簡(jiǎn)書(shū)上發(fā)布文章危纫,python也是近期才開(kāi)始學(xué)習(xí),很多內(nèi)部機(jī)制不是很了解,只是寬泛的應(yīng)用了一下學(xué)習(xí)的知識(shí)种蝶。有錯(cuò)誤的地方契耿,希望大家指正!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末螃征,一起剝皮案震驚了整個(gè)濱河市搪桂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盯滚,老刑警劉巖踢械,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異魄藕,居然都是意外死亡内列,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)背率,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)话瞧,“玉大人,你說(shuō)我怎么就攤上這事寝姿〗慌牛” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵饵筑,是天一觀的道長(zhǎng)埃篓。 經(jīng)常有香客問(wèn)我,道長(zhǎng)根资,這世上最難降的妖魔是什么都许? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮嫂冻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘塞椎。我一直安慰自己桨仿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布案狠。 她就那樣靜靜地躺著服傍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪骂铁。 梳的紋絲不亂的頭發(fā)上吹零,一...
    開(kāi)封第一講書(shū)人閱讀 51,365評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音拉庵,去河邊找鬼灿椅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的茫蛹。 我是一名探鬼主播操刀,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼婴洼!你這毒婦竟也來(lái)了骨坑?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤柬采,失蹤者是張志新(化名)和其女友劉穎欢唾,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體粉捻,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡礁遣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了杀迹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亡脸。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖树酪,靈堂內(nèi)的尸體忽然破棺而出浅碾,到底是詐尸還是另有隱情,我是刑警寧澤续语,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布垂谢,位于F島的核電站,受9級(jí)特大地震影響疮茄,放射性物質(zhì)發(fā)生泄漏滥朱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一力试、第九天 我趴在偏房一處隱蔽的房頂上張望徙邻。 院中可真熱鬧,春花似錦畸裳、人聲如沸缰犁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)帅容。三九已至,卻和暖如春伍伤,著一層夾襖步出監(jiān)牢的瞬間并徘,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工扰魂, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留麦乞,地道東北人蕴茴。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像路幸,于是被迫代替她去往敵國(guó)和親荐开。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容