6.5 fractions--有理数运算

来源:互联网 发布:迅龙数据恢复软件 mac 编辑:程序博客网 时间:2024/06/11 08:07

本模块提供了有理数运算相关功能。一个分数的实例可以从一对整数,或者另外一个有理数,或者从一个字符串来构造:

class fractions.Fraction(numerator=0, denominator=1) 

class fractions.Fraction(other_fraction) 

class fractions.Fraction(float) 

class fractions.Fraction(decimal) 

class fractions.Fraction(string) 

在第一个构造函数里,numerator是分子,denominator是分母。如果分母是一个0值,会抛出异常ZeroDivisionError

第二个构造函数是从另一个小数对象构造一个新对象。

第三个构造函数是从浮点数来构造一个小数对象。

第四个是十进制对象构造一个对象。

第五个是从字符串构造一个小数对象。

例子:

#python 3.4

from fractions import *

 

r = Fraction(16, -10)

print(r)

r = Fraction(128)

print(r)

r = Fraction()

print(r)

r = Fraction(1.23)

print(r)

r = Fraction('2.56')

print(r)

结果输出如下:

-8/5

128

0

2769713770832855/2251799813685248

64/25

 

numerator

返回分数的分子的值。

例子:

#python 3.4

from fractions import *

 

r = Fraction(16, -10)

print(r, r.numerator)

结果输出如下:

-8/5 -8

 

denominator 

返回分数的分母的值。

例子:

#python 3.4

from fractions import *

 

r = Fraction(16, -10)

print(r, r.denominator)

结果输出如下:

-8/5 5

 

from_float(flt) 

从浮点创建小数。

例子:

#python 3.4

from fractions import *

 

r = Fraction()

x = r.from_float(3.14)

print(r, x)

结果输出如下:

0 7070651414971679/2251799813685248

 

from_decimal(dec)

从十进数对象创建小数。

例子:

#python 3.4

from fractions import *

import decimal

 

r = Fraction()

x = r.from_decimal(decimal.Decimal(2.3))

print(r, x)

结果输出如下:

0 2589569785738035/1125899906842624

 

limit_denominator(max_denominator=1000000) 

查找并返回最大分母表示的小数。

例子:

#python 3.4

from fractions import *

import decimal

 

r = Fraction('3.1415926535897932').limit_denominator(1000)

print(r)

r = Fraction('3.1415926535897932')

print(r)

结果输出如下:

355/113

7853981633974483/2500000000000000


fractions.gcd(a, b) 

返回ab的最大公约数。

例子:

#python 3.4

from fractions import *

 

r = gcd(10, 20)

print(r)

r = gcd(2, 3)

print(r)

结果输出如下:

10

1

 




蔡军生  QQ:9073204  深圳

0 0
原创粉丝点击