Resolved: Question 5, my code should be prone to division by 0 error, but when executed it outputs 0.0 instead
For question 5 i used the following code, which stops when the user input is not numeric and when I tried no inputting any numbers it didn't result in a division by 0 error and I'd like to know why:
total = 0
count = 0
user_input = "0"
while user_input.isdigit():
total += int(user_input)
count += 1
user_input = input("Enter a number or a char to end")
print(f"The mean of the vlaues is: {total/count}")
Hey Mohamad,
Thank you for your question!
Let's cover the code line by line.
In lines 1, 2, and 3, the variables total
and count
are set to 0, while user_input
is set to the string "0". In line 4, you check whether user_input
is a digit. It is, so you enter the loop. In line 5, you increment total
by user_input
, so that total
becomes 0 + 0 = 0. In line 6, you increment the count by 1, so the count
variable becomes 0 + 1 = 1. Only after that, does the message appear on the screen. Entering nothing in the field (which is equivalent to entering a new line) means that you exit the loop. You then print out total/count
which is, in fact, 0 / 1 = 0. No error encountered :)
Hope this helps!
Kind regards,
365 Hristina