问题描述
当你写
for number in students:
您的意图是“运行这段代码students
时间,students
我刚才输入的值在哪里”。但是在Python,你传递给事情一个for
声明需求是某种迭代对象的。在这种情况下,您想要的只是一个range
statement。这将生成一个数字列表,并且对这些数字进行迭代将使您的for
循环能够执行正确的次数:
for number in range(students):
# do stuff
>>> range(5)
[0, 1, 2, 3, 4]
在您的情况下,数字到底是什么并不重要;以下两个for
语句将执行相同的操作:
for number in range(5):
for number in [1, 3, 97, 4, -32768]:
但是,range
如果您需要在循环中更改某种列表(这可能是以后需要做的事情),则使用该版本被认为更惯用且更方便。
解决方法
我正在尝试编写一个程序,该程序允许您输入班级中的学生人数,然后为每个学生输入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: "))