CBSE Class 11 Computer Science Question 123 of 161

Flow of Control — Question 32

Back to all questions
32
Question

Question 15

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.

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.")
Answer