如何修复TypeError:“int”对象不可iterable?

2024-05-08 00:36:16 发布

您现在位置: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: "))

Tags: thein程序numberinputstudent学生first
2条回答

当你写信的时候

for number in students:

你的目的是“运行这个代码块students次,其中students是我刚输入的值。”但是在Python中,传递给a ^{} statement的对象需要某种iterable对象。在这种情况下,您需要的只是一个^{} statement。这将生成一个数字列表,遍历这些数字将允许您的for循环执行正确的次数:

for number in range(students):
    # do stuff

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

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

在您的例子中,数字是什么并不重要;下面两个for语句将执行相同的操作:

for number in range(5):

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

但是使用range版本被认为更习惯,如果您需要更改循环中的某种列表(这可能是您以后需要做的事情),则更方便。

数字不能重复。您可能正在寻找的是range函数,它将创建一系列数字,直到您想要的数字:

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

我之所以添加+1是因为range的第二个参数是互斥的。

相关问题 更多 >