# Pure Python rational numbers module for 2.5

Has anybody seen such a thing? Small self-sufficient modules are preferred.

Asked by:

**Luke170**| Posted: 05-10-2021

# Answer 1

The fractions module from 2.6 can be ripped out if necessary. Grab fractions.py, numbers.py, and abc.py; all pure python modules.

You can get the single files from here (2.6 branch, 2.7 does not work): http://hg.python.org/cpython/branches

Answered by:**David143**| Posted: 06-11-2021

# Answer 2

SymPy is a symbolic maths library written entirely in Python and has full support for rational numbers. From the tutorial:

```
>>> from sympy import *
>>> a = Rational(1,2)
>>> a
1/2
>>> a*2
1
>>> Rational(2)**50/Rational(10)**50
1/88817841970012523233890533447265625
```

There is also GMP for Python (GMPY) which, while not pure Python, is probably more efficient.

Answered by:**Richard391**| Posted: 06-11-2021

# Answer 3

One more thing to try is Rat.py from demo folder in Python 2.5 maintenance branch. If i understand correctly, it is the daddy of 2.6 `fractions`

. It's a single module without dependencies.

```
>>> from Rat import rat
>>> rat(1) / rat(3)
Rat(1,3)
>>> rat(1, 3) ** 2
Rat(1,9)
```

**UPDATE**: Nah, `fractions.py`

is about 2.5 times faster for my task.

**Miranda571**| Posted: 06-11-2021

# Similar questions

python - Input rational numbers

Closed. This question needs details or clarity. It ...

python - Input rational numbers

Closed. This question needs details or clarity. It ...

How to convert rational and decimal number strings to floats in python?

How can I convert strings which can denote decimal or rational numbers to floats
>>> ["0.1234", "1/2"]
['0.1234', '1/2']
I'd want [0.1234, 0.5].
eval is what I was thinking but no luck:
>>> eval("1/2")
0

Python Rational Class __init__

I'm working through the Rational class and trying to learn the in's and out's. I want my __init__ function to be able to accept (int), (Rational, Rational), (Rational, int), (int, Rational), and (int, int) as parameters but I don't know how to make it do that. Any advice, suggestions, or revision for what I already have?
class Rational(object):
def __init__(self,numerator=0,denominator=1):...

matlab - Rational function curve fitting in python

I am trying to fit a curve to X and Y data points using a rational function. It can be done in Matlab using the cftool (http://de.mathworks.com/help/curvefit/rational.html). However, I am looking to do the same in Python. I have tried to use

python - Rational guessing of a chosen number in a given range

There is task:
The player picks a random number between 1 and 100 that the computer has to guess. Before you start, think about how you guess. If all goes well, try coding the game.
My code is:
import random
num = int(input('Your number: '))
numC = random.randint(1, 100)
tries = 1
while numC != num:
numC = random.randint(1, 100)
if numC > num:
...

python - Input rational numbers

Closed. This question needs details or clarity. It ...

python - Rational numbers' test got warning '11/12 != 11/12'

I am trying to practice with how to write classes and methods with Python, the content of this exercise is to add/sub/mul/div rational numbers. I got the correct output with the main() block. However, I got the following warning with test file:
RationalTest: test_plusminus
11/12 != 11/12 : Incorrect result for operation 1/4 + 2/3!
I checked my __str__ method and did not find a m...

# Still can't find your answer? Check out these communities...

PySlackers | Full Stack Python | NHS Python | Pythonist Cafe | Hacker Earth | Discord Python