當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Fraction用法及代碼示例


該模塊提供對有理數算術的支持。它允許從整數、浮點數、數字、小數和字符串創建 Fraction 實例。分數實例:分數實例可以從一對整數、另一個有理數或字符串構造。分數實例是可散列的,並且應該被視為不可變的。

  1. 類分數.分數(分子=0,分母=1):這要求分子和分母是數字。合理的並返回一個值為 =(分子/分母)的分數實例。如果分母 = 0,則會出現零除錯誤。

Python3


from fractions import Fraction
  
print (Fraction(11, 35))
# returns Fraction(11, 35)
  
print (Fraction(10, 18))
# returns Fraction(5, 9)
print (Fraction())
# returns Fraction(0, 1)
  1. 輸出:
11/35
5/9
0
  1. 分數類.Fraction(other_fraction):這要求 other_fraction 是以下實例numbers.Rational並返回具有相同值的分數實例。
  2. 分數類.分數(浮點數):這需要浮點數返回具有相同值的實例和分數實例。

Python3


from fractions import Fraction
print (Fraction(1.13))
# returns Fraction(1272266894732165, 1125899906842624)
  1. 輸出:
1272266894732165/1125899906842624
  1. 分數類.分數(小數):這需要十進製返回具有相同值的實例和分數實例。

Python


from fractions import Fraction
print (Fraction('1.13'))
# returns Fraction(113, 100)
  1. 輸出:
113/100
  1. 類分數.分數(字符串):這需要字符串或unicode實例並返回具有相同值的分數實例。本例的表格:[sign]分子[‘/’分母]這裏,符號代表‘+’或‘-’,分子和分母是個位數的字符串。

Python3


from fractions import Fraction
  
print (Fraction('8/25'))
# returns Fraction(8, 25)
  
print (Fraction('1.13'))
# returns Fraction(113, 100)
print (Fraction('3/7'))
# returns Fraction(3, 7)
print (Fraction('1.414213 \t\n'))
# returns Fraction(1414213, 1000000)
  1. 輸出:
8/25
113/100
3/7
1414213/1000000
  1. limit_denominator(max_denominator=1000000):
    • 此方法對於查找給定浮點數的有理近似值非常有用。
    • 該模塊查找並返回最接近自身且分母最多為 max_denominator 的分數。
    • 該模塊還可用於通過使用以下函數返回最低項中給定分數的分子分子屬性和分母通過使用分母屬性。

Performing Mathematical operations on fractions

Python


from fractions import Fraction
  
print (Fraction(113, 100) + Fraction(25, 18))
# returns Fraction(2267, 900)
  
print (Fraction(18, 5) / Fraction(18, 10))
# returns Fraction(2, 1)
  
print (Fraction(18, 5) * Fraction(16, 19))
# returns Fraction(288, 95)
  
print (Fraction(18, 5) * Fraction(15, 36))
# returns Fraction(3, 2)
  
print (Fraction(12, 5) ** Fraction(12, 10))
# returns 2.8592589556010197

輸出:

2267/900
2
288/95
3/2
2.8592589556

使用數學模塊的各種函數進行基於分數的計算

Python3


import math
from fractions import Fraction
  
print (math.sqrt(Fraction(25, 4)))
# returns 2.5
  
print (math.sqrt(Fraction(28,3)))
# returns 3.0550504633038935
  
print (math.floor(Fraction(3558, 1213)))
# returns 2
  
print (Fraction(math.sin(math.pi/3)))
# returns Fraction(3900231685776981, 4503599627370496)
  
print (Fraction(math.sin(math.pi/3)).limit_denominator(10))
# returns Fraction(6, 7)

輸出:

2.5
3.0550504633
2.0
3900231685776981/4503599627370496
6/7


相關用法


注:本文由純淨天空篩選整理自佚名大神的英文原創作品 Fraction module in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。