Sie sind auf Seite 1von 2

# 1.

Create a class named �RecursiveSum�:


# It has a private data attribute called �sum�
# Initializer method accepts a csv file as argument (the csv file has a list of
numbers)
# Read numbers from file and ensure all elements are numbers
# Implement the initializer method that uses recursion to sum all elements in list
# And stores the result of recursive sum in the private data attribute �sum�
# Implement a public accessor method called �get_sum� that returns �sum�
#
# 2.Implement �main� method:
# Request user to input numbers, mixed (numbers with alphabets) and non-numbers
# Reject non-numbers
# If an entry has both numbers and letters, trim letters and keep numbers
# Store numbers (entered and trimmed) into a list
# Save the list into a csv file
# Instantiate �RecursiveSum� and pass the csv file to it
# Call �get_sum� and store its output in a local variable
# Print the local variable to output

import csv
from string import digits

class RecursiveSum:
sum = 0

def __init__(self):
self.sum = 0

def readCSV(self,csvFile):
with open(csvFile, 'r') as csvfile:
reviewelements = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in reviewelements:
reviewcharacters = (', '.join(row))
return(reviewcharacters)

def get_sum(self,list1):
if len(list1) == 0:
return 0
else:
self.sum = list1[0] + self.get_sum(list1[1:])
return self.sum

class Main:
globalSum = 0
def __init__(self):
self.globalSum = 13

def getInput(self):
uInput = input("How many numbers wanted? ")
if (uInput.isnumeric()):
return int(uInput)
else:
return ("Please enter a valid number: ")

def getNumbers(self,uInput):
numbers = []
i = 0
while i < uInput:
num_input = input("Enter numbers: ")
if num_input.isnumeric():
numbers.append(int(num_input))
i += 1
else:
print("Please enter a number: ")
return numbers

def numbersCSV(self, numbers):


with open("week10.csv", 'w', newline='') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=',', quotechar='|',
quoting=csv.QUOTE_MINIMAL)
spamwriter.writerow(numbers)

main = Main()
recursion = RecursiveSum()
csvFile = 'C:/Users/urooj/Desktop/ITS 4v95/In-Class Example/week10.csv'
retrieveInput = main.getInput()
saveNumbers = main.getNumbers(retrieveInput)
main.numbersCSV(saveNumbers)
readFile = recursion.readCSV(csvFile)
sumCSV = recursion.get_sum(saveNumbers)
print(saveNumbers)
print(sumCSV)

Das könnte Ihnen auch gefallen