почему мои python коды вызывают ошибку во время выполнения - PullRequest
0 голосов
/ 03 мая 2020

Python новичок, пытающийся решить следующий вопрос:

"Реализация класса Class со следующими атрибутами и методами:

Publi c атрибут учеников, который является массивом экземпляров Student. Конструктор с параметром n, который является общим числом учащихся в этом классе. Конструктор должен создать n экземпляров Student и инициализировать их с идентификатором студента от 0 ~ n-1 "

Мои коды:

class Class:

    def __init__(self, students):
        self.students = students

    def consID(self):
        n = len(self.students)
        if n > 0: 
            stu_id = [i for i in range(n)]
            return stu_id
        else:
            return False

Получил «ошибку во время выполнения» при тестировании списка студентов и не мог понять почему. Буду признателен за вашу помощь!

1 Ответ

0 голосов
/ 03 мая 2020

Из инструкций, я думаю, вы хотите что-то вроде этого

class Student:
  def __init__(self, id):
    self.id = id

class Class:
  def __init__(self, n):
    self.students = []
    for i in range(n):
      self.students.append(Student(i))

c1 = Class(3)
c2 = Class(8)

Тестирование

for student in c1.students:
  print(student.id)

вывод

0
1
2
for student in c2.students:
  print(student.id)

выход

0
1
2
3
4
5
6
7
...