-3
我试图从2小时内整理出我的程序,但是每当我得到同样的错误。我的程序中出现堆栈和队列错误
我正在使用Python的Stack, Queue and Linked List
程序。
请帮我,这里有什么错我的代码?
import random
class Node(object):
def __init__(self, other=None):
self.other = other
self.next = next
self.previous = previous
def __str__(self):
return str(self.other)
class List(object):
def __init__(self):
self.head = None
self.tail = None
def append(self, value):
newNode = Node(value)
if self.head == None:
self.head = newNode
self.tail = newNode
else:
self.tail.next = newNode
newNode.previous = self.tail
self.tail = newNode
def __str__(self):
someString = ""
current = self.head
while current != None:
someString = someString + current.other
current = current.next
return someString
class Queue(List):
def enqueue(self, value):
self.append(value)
def dequeue(self):
self.temp = self.head
self.head = self.head.next
return temp
class Stack(List):
def push(self, value):
self.append(value)
def pop(self):
self.temp = self.tail
self.tail = self.tail.previous
return self.temp
def main():
list1 = List()
for i in range(0, 100):
list1.append(str(random.randrange(0, 100)))
print(list1)
queue = Queue()
for i in range(0, 100):
queue.enqueue(str(random.randrange(0, 100)))
for i in range(0, 100):
print(queue.dequeue)
for i in range(0, 10):
print("----------------------------------------")
stack = Stack()
for i in range(0, 100):
stack.push(str(random.randrange(0, 100)))
for i in range(0, 100):
print(stack.pop())
if __name__ == "__main__":
main()
这里是我的输出的屏幕截图:
帮助,将不胜感激!
in'Node''s'__init__' method,where'other' and'previous' should be from? –
您应该在代码块中将错误消息放入您的问题中,**不作为屏幕截图。请参阅[我如何问一个好问题?](http://stackoverflow.com/help/how-to-ask) –