Python:将项目插入堆栈

时间:2016-04-27 05:40:49

标签: python

我试图将一个项目插入堆栈但是大小仍然是空的,在这种情况下输入是否插入到堆栈中?

加班我获得堆栈/列表的大小为空

def main_menu():
        print('\nMenu:')
        print('1. Push')

        the_stack = Stack()

        while True:
                try:
                    command = int(input("\nEnter command:"))
                    if command == 1:
                        try:
                            ask = int(input("\nEnter an integer:"))
                            the_stack = Stack()
                            the_stack.push(ask)
                            print("item pushed")
                            print(the_stack.peek())

                        except ValueError:
                            print ("Enter Integer numbers only")
                except ValueError:
                    print ('Please input a Number only')
                else:
                    if 1 <= command < 5:
                        break
                    else:
                        print ('Enter command from 1 to 4 only')

class Node:
    """
    The Node used for Linked List
    """
    def __init__(self, item, link):
        self.item = item
        self.next = link

class Stack:

    def push(self, item):
        self.top = Node(item, self.top)

if __name__ == '__main__':
    main_menu()
    the_stack = Stack()

2 个答案:

答案 0 :(得分:0)

你可以在python中使用list作为堆栈: 试试吧。

    the_stack = []
    ask = int(input("Enter an integer:"))
    the_stack.append(ask)
    print("Item Added")

只需使用for循环即可添加任意数量的项目。 从中删除项目。 使用

    the_stack.pop()

它将从列表中删除最后添加的项目。

答案 1 :(得分:0)

Python中没有任何Stack方法。

但您可以将列表用作堆栈。请参阅以下链接 -

https://docs.python.org/2/tutorial/datastructures.html#using-lists-as-stacks