How do I fix TypeError: 'int' object is not iterable?

python

Solution

When you wrote

for number in students:

your intention was, “run this block of code `students` times, where `students` is the value I just entered.” But in Python, the thing you pass to a `for` statement needs to be some kind of iterable object. In this case, what you want is just a `range` statement. This will generate a list of numbers, and iterating through these will allow your `for` loop to execute the right number of times:

for number in range(students):
    # do stuff

Under the hood, the `range` just generates a list of sequential numbers:

>>> range(5)
[0, 1, 2, 3, 4]

In your case, it doesn't really matter what the numbers are; the following two `for` statements would do the same thing:

for number in range(5):

for number in [1, 3, 97, 4, -32768]:

But using the `range` version is considered more idiomatic and is more convenient if you need to alter some kind of list in your loop (which is probably what you're going to need to do later).

Problem

I am trying to write a program that allows you to enter the number of students in a class, and then enter 3 test grades for each student to calculate averages. I am new to programing and I keep getting an error that I don't understand what it means or how to fix it. This is what I have so far: ``` students=int(input('Please enter the number of students in the class: ')) for number in students: first_grade=(input("Enter student's first grade: ")) second_grade=(input("Enter student's second grade: ")) third_grade=(input("Enter student's third grade: ")) ```

Original source