このコードを実行するのに問題があります。クラスは IdCounter を持つ Student であり、問題があると思われる場所です。(8行目)
class Student:
idCounter = 0
def __init__(self):
self.gpa = 0
self.record = {}
# Each time I create a new student, the idCounter increment
idCounter += 1
self.name = 'Student {0}'.format(Student.idCounter)
classRoster = [] # List of students
for number in range(25):
newStudent = Student()
classRoster.append(newStudent)
print(newStudent.name)
この idCounter をStudent
クラス内に配置しようとしているので、学生の名前の一部として使用できます (これは実際には ID# です。たとえば、Student 12345
.しかし、エラーが発生しています.
Traceback (most recent call last):
File "/Users/yanwchan/Documents/test.py", line 13, in <module>
newStudent = Student()
File "/Users/yanwchan/Documents/test.py", line 8, in __init__
idCounter += 1
UnboundLocalError: local variable 'idCounter' referenced before assignment
idCounter += 1 をすべての組み合わせの前、後、に入れようとしましたが、まだreferenced before assignment
エラーが発生しています。何が間違っているのか説明してもらえますか?