# *python creating objects with overloaded operators

### Creating objects with overloaded operators allows you to use the object like a built in data type. In this lab, you will create a fraction class. By overloading its operators, you can easily use your class to solve mathematical problems related to fractions.

**Part 1: Complete Fraction Class**

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.

**Part 2: Fraction Problems**

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.

### Save your time - order a paper!

Get your paper written from scratch within the tight deadline. Our service is a reliable solution to all your troubles. Place an order on any task and we will take care of it. You won’t have to worry about the quality and deadlines

Order Paper NowRemember that a summation symbol just tells you to add all the values in a range.

Write functions for each of the below expressions.

- Harmonic Series:
- Two:
- Zero:
- Partial Riemann Zeta:

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.

**Scoring**

- Part 1
- 6pts – Add
- 6pts – Subtract
- 6pts – Multiply
- 6pts – True Divide
- 6pts – Power

- Part 2
- 10pts – H Function
- 10pts – T Function
- 10pts – Z Function
- 10pts – R Function

**Example Execution Trace**

`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