Manipulando Frações com Python

Python possui o módulo fractions que permite a manipulação de aritmética de racionais de uma forma bastante simples,como pode ser visto nos exemplos a abaixo

>>> from fractions import Fraction
>>> x = Fraction(2,21)
>>> x
Fraction(2, 21)
>>> y = Fraction('4/28')
>>> y
Fraction(1, 7)
>>> y+2
Fraction(15, 7)
>>> x*3
Fraction(2, 7)
>>> x+y
Fraction(5, 21)
>>> Fraction('-.25')
Fraction(-1, 4)
>>> Fraction('-.25')**2
Fraction(1, 16)

O construtor de Fractions pode receber um outro Fraction, um float, ou
um decimal(módulo decimal) além dos utilizados acima. Nesse mesmo módulo, fractions, há uma função para calcular o Máximo Divisor Comum (mdc) entre dois números.


>>> from fractions import gcd
>>> gcd(147,105)
21
>>> gcd(25,35)
5
>>> gcd(7,3)
1
>>> gcd(348,156)
12