Posted: December 18th, 2022
Complete the implementation of the Fraction class provided below.
class Fraction:
#Constructor. Puts fraction in simplest form
def __init__(self,a,b):
self.num = a
self.den = b
self.simplify()
#Print Fraction as a String
def __str__(self):
if self.den==1:
return str(self.num)
else:
return str(self.num)+"https://www.sweetstudy.com/"+str(self.den)
#Get the Numerator
def getNum(self):
return self.num
#Get the Denominator
def getDen(self):
return self.den
#Give Numerical Approximation of Fraction
def approximate(self):
return self.num/self.den
#Simplify fraction
def simplify(self):
x = self.gcd(self.num,self.den)
self.num = self.num // x
self.den = self.den // x
#Find the GCD of a and b
def gcd(self,a,b):
if b==0:
return a
else:
return self.gcd(b,a % b)
#Complete these methods in lab
def __add__(self,other):
return 0
def __sub__(self,other):
return 0
def __mul__(self,other):
return 0
def __truediv__(self,other):
return 0
def __pow__(self,exp):
return 0
Complete Implementation of the following methods. All of these methods will return an instance of the Fraction class.
Create a file lab3.py. In this file, use your fraction class to implement functions for each of the following formula. You program should ask the user for the value of n to use in the summations.
Remember that a summation symbol just tells you to add all the values in a range.
Write functions for each of the below expressions.
Your program will ask for n as input. Compute each of the functions for the given input n. When computing the Riemann Zeta function, print values for b=2,3,4,5,6,7,8.
Verify that the input is a valid number. If it is not, ask repeatedly until a valid number is given.
Once you have been given a valid input, print out the values of each of the functions in the order H, T, Z, R. See below execution trace for exact layout.
Welcome to Fun with Fractions!
Enter Number of iterations (integer>0):
Bad Input
Enter Number of iterations (integer>0):
10
H(10)=7381/2520
H(10)~=2.92896825
T(10)=2047/1024
T(10)~=1.99902344
Z(10)=1/1024
Z(10)~=0.00097656
R(10,2)=1968329/1270080
R(10,2)~=1.54976773
R(10,3)=19164113947/16003008000
R(10,3)~=1.19753199
R(10,4)=43635917056897/40327580160000
R(10,4)~=1.08203658
R(10,5)=105376229094957931/101625502003200000
R(10,5)~=1.03690734
R(10,6)=52107472322919827957/51219253009612800000
R(10,6)~=1.01734151
R(10,7)=650750820166709327386387/645362587921121280000000
R(10,7)~=1.00834915
R(10,8)=1632944765723715465050248417/1626313721561225625600000000
R(10,8)~=1.00407735
Place an order in 3 easy steps. Takes less than 5 mins.