我如何修复TypeError:'int'对象不可迭代?

tin*_*454 10 python

我正在尝试编写一个程序,允许您输入班级中的学生人数,然后为每个学生输入3个考试成绩来计算平均值.我是编程的新手,我不断收到一个错误,我不明白这意味着什么或如何解决它.这是我到目前为止:

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: "))
Run Code Online (Sandbox Code Playgroud)

bde*_*ham 27

你写的时候

for number in students:
Run Code Online (Sandbox Code Playgroud)

你的目的是,"运行的代码块students次,其中students是我刚输入的值."但在Python,你传递给事情一个for声明必须是某种迭代对象的.在这种情况下,你想要的只是一个range声明.这将生成一个数字列表,迭代这些将允许您的for循环执行正确的次数:

for number in range(students):
    # do stuff
Run Code Online (Sandbox Code Playgroud)

在引擎盖下,range只是生成一个序列号列表:

>>> range(5)
[0, 1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

在你的情况下,数字是什么并不重要; 以下两个for语句会做同样的事情:

for number in range(5):

for number in [1, 3, 97, 4, -32768]:
Run Code Online (Sandbox Code Playgroud)

但是range如果你需要在你的循环中改变某种列表(这可能是你以后需要做的),那么使用该版本被认为是更惯用的并且更方便.