I've created fractions using the following code as by using the fraction
module directly would yield a simplified fraction which I don't want:
from fractions import Fraction
class MyFraction:
def __init__(self, numerator=1, denominator=1):
self.numerator = numerator
self.denominator = denominator
def get_fraction(self):
return Fraction(numerator=self.numerator, denominator=self.denominator)
def __repr__(self):
return '{}/{}'.format(self.numerator, self.denominator)
list_S = []
upper_limit = int(input("Enter upper limit : "))
for a in range(1, upper_limit + 1):
for b in range(1, upper_limit + 1):
f_ = MyFraction(a, b)
list_S.append(f_)
for fraction in list_S:
# do something to access numerator and denominator of each fraction in list_S
Now, list_S contains a few fractions(some are simplified, some are not). How do I access the numerator and denominator of the fractions that are not simplified?
Thanks in advance.
You should have a get_numerator
and a get_denominator
method since you do not want to use get_fraction
as it would simplify your fraction.
Then use the code below to access the not simplified fractions (does not work if you can have 0 as denominator, but it should not be the case):
class MyFraction:
def get_numerator(self):
return self.numerator
def get_denominator(self):
return self.denominator
from fractions import gcd
for f in list_S:
if gcd(f.get_numerator(), f.get_denominator()) != 1:
# do some stuff with non simplified fraction