Я пытаюсь создать алгоритм, который рассчитывает, сколько шагов нужно сделать для Ханойской башни, используя ООП.
Есть два класса, стержни и диски.Я пытаюсь сделать диски частью списка в каждом экземпляре стержня.
Ошибка:
«Ошибка TypeEr: объект« type »не может быть подписан»
Когда я пытаюсь добавитьэкземпляры диска в список в стержневых экземплярах произошла вышеуказанная ошибка.
Я проверил, что это за ошибка типа, однако я не думаю, что использовал какое-либо из встроенных имен Python.
class rod:
def __init__(self,disks=[]):
self.diskslist=disks
def remove_top(self):
return self.disks.pop(-1)
def add_to_top(self,disk):
self.diskslist.extend(disk)
class disk:
def __init__(self,size):
self.size=size
disks=[]
for i in range(8):
disks.append(disk(i))
#Generating 8 disks of increasing size
rods=[]
for i in range(3):
rods.append(rod())
#Generating 3 rods
for i in range(len(disks)):
rod[0].add_to_top(disks[I])
#Trying to add all the disks to the leftmost rod. This is where I get my type error.