¿Cómo corrijo TypeError: el objeto ‘int’ no es iterable?

Estoy tratando de escribir un progtwig que le permita ingresar el número de estudiantes en una clase y luego ingresar 3 calificaciones de prueba para que cada estudiante calcule los promedios. Soy nuevo en la progtwigción y sigo recibiendo un error que no entiendo qué significa o cómo solucionarlo. Esto es lo que tengo hasta ahora:

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: ")) 

Cuando escribiste

 for number in students: 

su intención era: “ejecute este bloque de código de tiempos de los students , donde los students es el valor que acabo de ingresar”. Pero en Python, lo que pasa a una statement for debe ser algún tipo de objeto iterable. En este caso, lo que desea es solo una statement de range . Esto generará una lista de números, y la iteración a través de estos permitirá que su bucle for ejecute la cantidad correcta de veces:

 for number in range(students): # do stuff 

Bajo el capó, el range simplemente genera una lista de números secuenciales:

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

En tu caso, realmente no importa cuáles son los números; Los dos siguientes for declaraciones harían lo mismo:

 for number in range(5): for number in [1, 3, 97, 4, -32768]: 

Sin embargo, el uso de la versión de range se considera más idiomático y es más conveniente si necesita modificar algún tipo de lista en su bucle (que es probablemente lo que necesitará hacer más adelante).

Los números no pueden ser iterados. Lo que probablemente está buscando es la función de range , que creará una secuencia de números hasta el número que desea:

for number in range(1, students + 1):

La razón por la que agregué + 1 es porque el segundo argumento de rango es exclusivo.