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):
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):