Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Project 4: Recursion Submission: To earn credit, you MUST use recursion in your

ID: 3819463 • Letter: P

Question

Project 4: Recursion

Submission: To earn credit, you MUST use recursion in your solution

Sum of Digits

Write a python class definition for class ‘Sumi’ with a single instance variable self.num of type ‘int’ and single instance method called “sum_of_digits”.

·            The default constructor sets the instance variable equal to zero.

·            The instance method returns the sum of digits of the instance.

Please note that we do not know the number of digits in advance. Example:
>>> n = Sumi(369)

>>> sum_of_digits(n)
18

>>> m = Sumi()

>>> sum_of_digits(m)

0

Hint: use the binary operators // and %. Each method of a class has to have self as a first parameter, i.e. do this:

def recur(self, num). Make sure you use self, when you call the method recursively.

Remember: The Three Rules of Recursion

Base (termination) condition

Decomposition to smaller instance

Use solutions to smaller instances to solve the original problem

Explanation / Answer

sum = 0
def sum_Of_Digits(Number):
global sum
if(Number > 0):
Reminder = Number % 10
sum = sum + Reminder
sum_Of_Digits(Number //10)
return sum

Number = int(input("Please Enter any Number: "))
sum = sum_Of_Digits(Number)
print(" sum of the digits of Given Number = %d" %sum)