AttributeError: type object 'Node' has no attribute 'value'

AttributeError: type object 'Node' has no attribute 'value'

class Node():

    def __init__(self, value):
        self.value = value
        self.prev = None
        self.next = None

class LinkedList():

    def __init__(self):
        self.head = None
        self.tail = None

    def push(self, item):
        new_node = Node
        if self.tail is None:
            self.head = self.tail = new_node
        else:
            new_node.prev = self.tail
            self.tail.next = new_node
            self.tail = new_node

    def pop(self):
        if self.tail is not None:
            if self.tail.prev is not None:
                self.tail = self.tail.prev
                self.tail.next = None
            else:
                self.tail = self.head = None
            return self.tail.value
        else:
            return None

你能帮我吗?

当我使用 pop 时,我的代码会遇到这个问题: 文件 "C:\Users\ME\source\repos\PythonApplication2\PythonApplication2\PythonApplication2.py",第 28 行,在 pop 中 return self.tail.value AttributeError: 类型对象 'Node' 没有属性 'value'

您的推送函数没有创建具有任何值的节点对象。

而不是

new_node = Node

你需要这样的东西:

new_node = Node(5)  # pass in some value

原因是没有attribute/class属性命名值。

尝试:

new_node = Node(1)

其中 1 可以是任何值并指代值。

def __init__(self, value):