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

In this programming assignment you are to create a program called numstat.py tha

ID: 644685 • Letter: I

Question

In this programming assignment you are to create a program called numstat.py that reads a series of integer numbers from a file and determines and displays the following:

The name of the file.

The sum of the numbers.

The count of how many numbers are in the file.

The average of the numbers. The average is the sum of the numbers divided

by how many there are.

The maximum value.

The minimum value.

The range of the values. The range is the maximum value minus the

minimum value.

The program is to prompt the user for the name of the file that contains the numbers. If an exception occurs trying to open or read the file an error message is to be displayed. The program is not to crash if the file is not found or there is an error reading the file. Use try-except!

The output from the program is to display the information described above using the following strings preceding the values. There is to be a space between the colon and the value.

File name: Sum: Count: Average: Maximum: Minimum: Range:

At the end of one attempt at reading, or a successful read, of a file the user it to be asked if they would like to evaluate another file of numbers. Use the prompt: Would you like to evaluate another file? (y/n) If the user answers y, then the program is to accept input for another file name. If the user answers with anything other than y, the program is to exit.

Explanation / Answer

filename = input("Enter file name (name.txt):")
try:
f = open(filename, "r")
except IOError:
print("Error opening file!")
s, totnum = 0, 0
for line_number, line in enumerate(f):
nums = map(int, line.split())
s += sum(nums)
totnum += len(nums)
print "sum:",s
print "numbers:", totnum, "average:", 1.0*s/totnum

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote