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

I want to extend my program to determine median and mode. But I\'m not quit sure

ID: 674383 • Letter: I

Question

I want to extend my program to determine median and mode. But I'm not quit sure how..help! my output should look like this File name: Sum: Count: Average: Maximum: Minimum: Range: Median: Mode:

here is my prgram..

# numstat.py

# Read integer numbers from a file and determine the
# sum, count, average, maximum, minimum, and range.
# Each number is an a separate line in the file.

# This solution uses lists.


# Loop the program
while (True):
  
    # Initialize variables
    number_sum = 0
    number_count = 0
    number_average = 0
    number_maximum = 0
    number_minimum = 0
    number_range = 0

    try:
        # Ask the user for a file of random numbers
        number_file_name = input("Enter the name of the file you would like to process: ")

        # Open the file
        number_file = open(number_file_name, "r")

        # Read the file's contents as a list of strings
        unconverted_numbers = number_file.readlines()

        # Create an empty list to store the converted numbers
        converted_numbers = []

        # Convert the strings to integers and store them in converted_numbers list
        for number in unconverted_numbers:
            converted_numbers.append(int(number))


        # Determine the sum
        number_sum = sum(converted_numbers)
        # Determine the count
        number_count = len(converted_numbers)
        # Determine the max
        number_maximum = max(converted_numbers)
        # Determine the minimum
        number_minimum = min(converted_numbers)
      
        # Calculate the average
        number_average = number_sum / number_count
        # Calculate the range
        number_range = number_maximum - number_minimum

        # Close the file
        number_file.close()

    # If there's a problem reading the file, print an error
    except Exception as err:
        print ('An error occurred reading', number_file_name)
        print ('The error is', err)

    # If the file was read successfully...
    else:
        # Print the calculated statistics
        print("File name:", number_file_name)
        print("Sum:", number_sum)
        print("Count:", number_count)
        print("Average:", number_average)
        print("Maximum:", number_maximum)
        print("Minimum:", number_minimum)
        print("Range:", number_range)

        # Ask to try again
        calculate_again = input("Would you like to evaluate another file? (y/n) ")
        if (calculate_again != "y"):
            break

Explanation / Answer

number_filename = 'numbers.txt'
number_sum = 0
number_count = 0
number_aver = 0
number_largest = 0
number_smallest = 0
number_range = 0

do_calculation = True
while(do_calculation):

while (True):
try:
  
number_filename = input('Enter a filename. Be sure to include .txt after the file name: ')
ran_number_count = 0

print('')

ran_number_file = open(number_filename, "r")
print ('File Name: ', number_filename, ':', sep='')

print('')

numbers = ran_number_file.readlines()
ran_number_file.close
except:
print('An error occured trying to read', ran_number_file)
else:
break

try:
number_file = open(number_filename, "r")

is_first_number = True

for number in number_file:
number = int(number)
if (is_first_number):
number_largest = number
number_smallest = number
is_first_number = False

number_sum += number
number_count += 1
if (number > number_largest):
number_largest = number
if (number < number_smallest):
number_minimum = number

number_aver = number_sum / number_count
number_range = number_largest - number_smallest

index = 0
listnumbers = 0
while index < len(numbers):
numbers[index] = int(numbers[index])
index += 1


number_file.close()
except Exception as err:
print ('An error occurred reading', number_filename)
print ('The error is', err)
else:
print ('Sum: ', number_sum)
print ('Count:', number_count)
print ('Average:', number_aver)
print ('Maximum:', number_largest)
print ('Minimum:', number_smallest)
print ('Range:', number_range)
print ('Median:', median)

another_calculation = input("Do you want to enter in another file name? (y/n): ")
if(another_calculation !="y"):
do_calculation = False

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