分數對象Fraction創建、轉換及混合運算

#-*-coding:utf-8-*-
'''
Created on 2016年3月21日

@author: Zroad
'''

from fractions import Fraction
"""
一、分數對象基礎
"""

#1、創建分數對象
x = Fraction(1,3)
y = Fraction(4,6)
print "x=",x #1/3
print "y=",y #2/3 
print "type(x)=",type(x) #<class 'fractions.Fraction'>

#2、分數對象用於數學表達式
print "x+y=", x+y #1
print "x-y=", x-y #-1/3
print "x*y=", x*y #2/9
print "x/y=",x/y  #1/2

#3、通過浮點數創建分數對象,類似小數
print Fraction(.25)   #1/4
print Fraction(1.75)  #7/4
print Fraction(0.25) + Fraction(1.75) #2

#4、分數與小數間的相互轉換
#將小數轉換爲分數
print (2.5).as_integer_ratio() #結果爲分子、分母的元組,(5,2)

print Fraction(*(2.5).as_integer_ratio()) #5/2
print Fraction.from_float(2.5)  #5/2

#5、分數對象與整數、浮點數間的混合運算
"""
Fraction + int -> Fraction
Fraction + float - > float
Fraction + Fraction -> Fraction
"""
f = Fraction(1,3)
print f + 1   #4/3
print f + 0.1 #0.4333333333333
print f + f   #2/3

#6、求分數的最近值
a = Fraction(22517998136853479,13510798882111488)
print a.limit_denominator(10)
print a.limit_denominator(20) #求最接近的分數值,最大分母爲傳入的參數,5/3
print a.limit_denominator(2)  # 3/2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章