Computer Science

Find the error. Consider the following program :

a = int(input("Enter a value: ")) 
while a != 0:
   count = count + 1
   a = int(input("Enter a value: "))
print("You entered", count, "values.")

It is supposed to count the number of values entered by the user until the user enters 0 and then display the count (not including the 0). However, when the program is run, it crashes with the following error message after the first input value is read :

  Enter a value: 14
  Traceback (most recent call last):
    File "count.py", line 4, in <module> 
      count = count + 1
  NameError: name 'count' is not defined

What change should be made to this program so that it will run correctly ? Write the modification that is needed into the program above, crossing out any code that should be removed and clearly indicating where any new code should be inserted.

Python Control Flow

20 Likes

Answer

The line count = count + 1 is incrementing the value of variable count by 1 but the variable count has not been initialized before this statement. This causes an error when trying to execute the program. The corrected program is below:

count = 0 #count should be initialized before incrementing
a = int(input("Enter a value: ")) 
while a != 0:
   count = count + 1
   a = int(input("Enter a value: "))
print("You entered", count, "values.")

Answered By

15 Likes


Related Questions