python如何表示分数
Fraction函数是python中实现分数的一个模块(module),可以被拿来直接使用的代码程序,包括类、函数以及标签的定义,是python标准函数库的一部分。
使用是必须先插入模块。
from fractions import Fraction
#插入模块f =Fraction(1,2)
#创建Fraction 类,并初始化为1/2print(f )
#输出分数类对象Fraction(1, 2)
输入分数时,Fraction开头字母必须大写,否则会报错。
Fraction(2,8)+1+1.52.75运算中如果出现float数据类型,最终的结果将是float类型数据。如果运算式中只有integer类型和fraction类型,输出结果将是fraction类型。>>> >>> Fraction(2,8)+Fraction(2,5)+3
#输出:Fraction(73, 20)
Fraction()方法,非常有意思,可以直接接收分数字符串变成输入。注意输入的分数要加引号。
a = Fraction(‘1/5’)
print(a)
#输出:Fraction(1, 5)
直接输入小数,Fraction方法直接把小数变成分数。
from decimal import Decimal
Fraction(1.1)
#输出:Fraction(11, 10)
把字符串变成小数,需要用到decimal类,然后把小数变成分数。
from decimal import Decimal
Fraction(Decimal(‘1.1’))
#输出:Fraction(11, 10)
先把1.1字符串变成小数,然后在变成分数。
相关推荐:《Python视频教程》
特性1:自动约分
分子分母中有负号时,自动约分并最终 将负号归于分子
Fraction(10, -5)
Fraction(-2, 1)
特性2:二元运算:
两个分数相加得到一个分数
一个分数加一个整数得到一个分数
一个分数加一个浮点数得到一个浮点数
其他二元运算同加法
特性3:获取Fraction对象属性
字面意思,numerator获取分子,denominator获取分母
特性4:gcd快速获取最大公约数
from fractions import gcd
gcd(9, 6)
#输出:3
例题:s=1+1/2+1/3+1/4+…+1/9
s =1
for i in range(1,10):
s=s+Fraction(1,i)print(s)
#输出:9649/2520
学习笔记
来源于: