溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python進(jìn)行分?jǐn)?shù)計(jì)算的方法

發(fā)布時(shí)間:2020-08-06 10:16:52 來(lái)源:億速云 閱讀:329 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下python進(jìn)行分?jǐn)?shù)計(jì)算的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Fraction函數(shù)是python中實(shí)現(xiàn)分?jǐn)?shù)的一個(gè)模塊(module),模塊是由別人寫(xiě)的,并且可以被拿來(lái)直接使用的代碼程序,包括類(lèi)、函數(shù)以及標(biāo)簽的定義,是python標(biāo)準(zhǔn)函數(shù)庫(kù)的一部分。使用是必須先插入模塊。

>>> from fractions import Fraction   #插入模塊
>>> f =Fraction(1,2)  #創(chuàng)建Fraction 類(lèi),并初始化為1/2
>>> f #輸出分?jǐn)?shù)類(lèi)對(duì)象Fraction(1, 2)

輸入分?jǐn)?shù)時(shí),F(xiàn)raction開(kāi)頭字母必須大寫(xiě),否則會(huì)報(bào)錯(cuò)。我們對(duì)分?jǐn)?shù)進(jìn)行運(yùn)算。

>>> Fraction(2,8)+1+1.5
2.75

運(yùn)算中如果出現(xiàn)float數(shù)據(jù)類(lèi)型,最終的結(jié)果將是float類(lèi)型數(shù)據(jù)。如果運(yùn)算式中只有integer類(lèi)型和fraction類(lèi)型,輸出結(jié)果將是fraction類(lèi)型。

>>> Fraction(2,8)+Fraction(2,5)+3
Fraction(73, 20)

Fraction()方法,非常有意思,可以直接接收分?jǐn)?shù)字符串變成輸入。注意輸入的分?jǐn)?shù)要加引號(hào)。

>>> a = Fraction('1/5') 
>>> a 
Fraction(1, 5) 
>>>

直接輸入小數(shù),F(xiàn)raction方法直接把小數(shù)變成分?jǐn)?shù)。

>>> from decimal import Decimal 
>>> Fraction(1.1) 
Fraction(11, 10)

把字符串變成小數(shù),需要用到decimal類(lèi),然后把小數(shù)變成分?jǐn)?shù)。

>>> from decimal import Decimal
>>> Fraction(Decimal('1.1')) 
Fraction(11, 10)

先把1.1字符串變成小數(shù),然后在變成分?jǐn)?shù)。

擴(kuò)展:

Python:分?jǐn)?shù)運(yùn)算

fractions 模塊可以被用來(lái)執(zhí)行包含分?jǐn)?shù)的數(shù)學(xué)運(yùn)算

>>> from fractions import Fraction
>>> a = Fraction(5, 4)
>>> b = Fraction(7, 16)
>>> print(a + b)
27/16
>>> print(a * b)
35/64
>>> # Getting numerator/denominator
>>> c = a * b
>>> c.numerator
35
>>> c.denominator
64
>>> # Converting to a float
>>> float(c)
0.546875

在大多數(shù)程序中一般不會(huì)出現(xiàn)分?jǐn)?shù)的計(jì)算問(wèn)題,但是有時(shí)候還是需要用到的。比如,在一個(gè)允許接受分?jǐn)?shù)形式的測(cè)試單位并以分?jǐn)?shù)形式執(zhí)行運(yùn)算的程序中,直接使用分?jǐn)?shù)可以減少手動(dòng)轉(zhuǎn)換為小數(shù)或浮點(diǎn)數(shù)的工作。

以上是python進(jìn)行分?jǐn)?shù)計(jì)算的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI