- Python進階編程:編寫更高效、優雅的Python代碼
- 劉宇宙 謝東 劉艷
- 277字
- 2021-04-30 12:39:34
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
大多數程序中一般不會出現分數的計算問題,但是有時候還是會用到的。如在允許接收分數形式測試并以分數形式執行運算的程序中,直接使用分數運算可以減少手動將分數轉換為小數或浮點數的工作。
推薦閱讀
- LaTeX Cookbook
- Visual Basic程序設計(第3版):學習指導與練習
- Python高級編程
- 信息安全技術
- Unity 5.x By Example
- 手把手教你學C語言
- 單片機應用與調試項目教程(C語言版)
- Java EE 7 Performance Tuning and Optimization
- AppInventor實踐教程:Android智能應用開發前傳
- 編程改變生活:用Python提升你的能力(進階篇·微課視頻版)
- Java并發編程:核心方法與框架
- Fastdata Processing with Spark
- 物聯網系統架構設計與邊緣計算(原書第2版)
- Learning Concurrency in Python
- Jenkins 2.x實踐指南