官术网_书友最值得收藏!

1.4.4 分數運算

對涉及分數計算的問題,通過代碼處理可能并不容易,那么是否存在可以直接拿來使用的模塊?

在Python中,fractions模塊可以被用來執行包含分數的數學運算,相關代碼(fraction_oper.py)示例如下:


from fractions import Fraction
a = Fraction(5, 4)
b = Fraction(7, 16)

print(f'{a} +  = {a + b}')
print(f'{a} *  = {a * b}')

c = a * b
print(f'numerator of {c} is: {c.numerator}')
print(f'denominator of {c} is: {c.denominator}')

print(f'float({c}) = {float(c)}')

print(f'{c} limit denominator 8 = {c.limit_denominator(8)}')

x = 3.75
print(f'{x} to fractions is: {Fraction(*x.as_integer_ratio())}')

執行py文件,輸出結果如下:


5/4 + 7/16 = 27/16
5/4 * 7/16 = 35/64
numerator of 35/64 is: 35
denominator of 35/64 is: 64
float(35/64) = 0.546875
35/64 limit denominator 8 = 4/7
3.75 to fractions is: 15/4

大多數程序中一般不會出現分數的計算問題,但是有時候還是會用到的。如在允許接收分數形式測試并以分數形式執行運算的程序中,直接使用分數運算可以減少手動將分數轉換為小數或浮點數的工作。

主站蜘蛛池模板: 顺昌县| 黄陵县| 阳江市| 龙南县| 辽宁省| 揭东县| 乳源| 高唐县| 新竹市| 南木林县| 阿尔山市| 阳东县| 巴林右旗| 合山市| 改则县| 阳江市| 望谟县| 寻乌县| 桂东县| 荥阳市| 姜堰市| 巴马| 辽宁省| 霍邱县| 南城县| 浮山县| 大冶市| 遂溪县| 东平县| 栾川县| 乌审旗| 年辖:市辖区| 九龙坡区| 应用必备| 沾益县| 建瓯市| 红原县| 宁南县| 呼图壁县| 昆明市| 肥乡县|