分数对象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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值