分数运算
分数是python中的一个模块(module)。模块是由别人写的,并且可以被拿来直接使用的代码程序,包括类、函数以及标签的定义,是python标准函数库的一部分。使用是必须先插入模块。
>>> from fractions import Fraction #插入模块
>>> f =Fraction(1,2) #创建Fraction 类,并初始化为1/2
>>> f #输出分数类对象
Fraction(1, 2)
输入分数是,Fraction开头字母必须大写,否则会报错。我们对分数进行运算。
>>> Fraction(2,8)+1+1.5
2.75
运算中如果出现float数据类型,最终的结果将是float类型数据。如果运算式中只有integer类型和fraction类型,输出结果将死fraction类型。
>>> Fraction(2,8)+Fraction(2,5)+3
Fraction(73, 20)
Fraction()方法,非常有意思,可以直接接收分数字符串变成输入。注意输入的分数要加引号。
>>> a = Fraction('1/5')
>>> 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字符串变成小数,然后在变成分数。
举例
计算
>>> s =1
>>> for i in range(1,10):
... s=s+Fraction(1,i)
...
>>> print(s)
9649/2520