溫馨提示×

溫馨提示×

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

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

python中分?jǐn)?shù)表示方式和寫法的示例分析

發(fā)布時(shí)間:2021-08-13 19:25:04 來源:億速云 閱讀:272 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)python中分?jǐn)?shù)表示方式和寫法的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

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

>>> from fractions import Fraction   #插入模塊

>>> f =Fraction(1,2)  #創(chuàng)建Fraction 類,并初始化為1/2

>>> f #輸出分?jǐn)?shù)類對象Fraction(1, 2)

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

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

2.75

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

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

Fraction(73, 20)

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

>>> 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類,然后把小數(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 模塊可以被用來執(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ì)算問題,但是有時(shí)候還是需要用到的。比如,在一個(gè)允許接受分?jǐn)?shù)形式的測試單位并以分?jǐn)?shù)形式執(zhí)行運(yùn)算的程序中,直接使用分?jǐn)?shù)可以減少手動(dòng)轉(zhuǎn)換為小數(shù)或浮點(diǎn)數(shù)的工作

關(guān)于“python中分?jǐn)?shù)表示方式和寫法的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。

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

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

AI