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