@sstump

Как исправить TypeError: Node() takes no arguments?

# Узел связанного списка
class Node:
def init(self, x, y, next):
self.x = x
self.y = y
self.next = next

def repr(self):
return str((self.x, self.y))


# Функция удаления лишних узлов из пути, образованного связанным списком
def removeNodes(head):

curr = head

while curr and curr.next and curr.next.next:

temp = curr.next.next

# проверка вертикальной тройки (тройки с одинаковым значением x)
if curr.x == curr.next.x and curr.x == temp.x:
# удалить средний узел
curr.next = temp

# проверка горизонтальной тройки (тройки с одинаковым значением y)
elif curr.y == curr.next.y and curr.y == temp.y:
# удалить средний узел
curr.next = temp
else:
curr = curr.next

return head


# Вспомогательная функция # для печати заданного связанного списка
def printList(head):

ptr = head
while ptr:
print(ptr, end=' —> ')
ptr = ptr.next

print('None')


if __name__ == '__main__':

# ввод координат
keys = [(0, 1), (0, 5), (0, 8), (2, 8), (5, 8), (7, 8), (7, 10), (7, 12)]

head = None
for x, y in reversed(keys):
head = Node(x, y, head)

head = removeNodes(head)
printList(head)

# При запуске возникает ошибка: TypeError: Node() takes no arguments
  • Вопрос задан
  • 96 просмотров
Решения вопроса 2
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Оформите код специальным тегом. Неужели не видно, что он в таком виде не читаемый?
__init__ и init - две большие разницы. Читайте какие служебные методы бывают и что такое dunder-атрибуты.
Ответ написан
Комментировать
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
# class Node:
#     def init(self, x, y, next):
#         self.x = x
#         self.y = y
#         self.next = next

#     def repr(self):
#         return str((self.x, self.y))

class Node:
    def __init__(self, x, y, next=None):
        self.x = x
        self.y = y
        self.next = next

    def __repr__(self):
        return str((self.x, self.y))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы