Write a program to prompt user to enter numbers until the user enters “done”.  After the user is done, display the count of the numbers, the sum, and the average of the numbers.

Using a while loop:

 

def analyze_numbers():

 

    total = 0.0

    count = 0

 

    while True:

        try:

            user_input = input("Enter a number (or 'done' to finish): ")

            if user_input.lower() == 'done':

                break 

 

            number = float(user_input) 

            total += number 

            count += 1 

 

        except ValueError:

            print("Invalid input. Please enter a number or 'done'.")

 

    if count > 0:

        average = total / count

        print(f"\nNumber of values entered: {count}")

        print(f"Sum of values: {total}")

        print(f"Average of values: {average}")

    else:

        print("\nNo numbers were entered.")

 

if __name__ == "__main__":

    analyze_numbers()

 

Number of values entered: 3

Sum of values: 14.0

 

Enter a number (or 'done' to finish):

3

Enter a number (or 'done' to finish):

4

Enter a number (or 'done' to finish):

7

Enter a number (or 'done' to finish):

done

 

Number of values entered: 3

Sum of values: 14.0

Average of values: 4.666666666666667

 

Using a for loop.

 

 

def number_stats():

    numbers = []

   

    for _ in range(10):

        user_input = input("Enter a number (or 'Done' to finish): ")

       

        if user_input.lower() == "done":

            break         

        try:

            numbers = float(user_input) 

            numbers.append(numbers)     

        except ValueError:

            print("Invalid input. Please enter a number or 'Done'.")

    return numbers

   

  

    if len(numbers) > 0: 

        count = len(numbers)

        total = sum(numbers)

        average = total / count

       

        print("\nNumber of values entered:", count)

        print("Total:", total)

        print("Average:", average)

    else:

        print("\nNo numbers were entered.")

 

Enter a number (or 'done' to finish):

3

Enter a number (or 'done' to finish):

4

Enter a number (or 'done' to finish):

7

Enter a number (or 'done' to finish):

done

Count: 3

Total: 14.0

Average: 4.666666666666667

 

 

Go Back