我正在把一个程序作为一个学校项目,我想让它感觉像一个网页,允许用户在任何一个页面上输入一个特定的数字,让它回到一个页面。
我使用堆栈实现了它(我不确定它是否重要,但我没有为它设置元素的最大限制,因为设置一个元素限制没有意义)。以下是我想要重点关注的代码的一小部分:
currentPage=[] #page stack
def goTo(page):
currentPage.append(page)
def goBack(): #redundant for now
global currentPage
print(currentPage)
del currentPage[-1]
def mainMenu():
print("1. Order item\n2. Admin login\n3. Quit\n")
global currentPage
print(currentPage) #14
choice=int(input("Please enter your choice: "))
if choice==1:
goTo(order())
elif choice==2:
goTo(adminMenu())
elif choice==3:
goBack()
goTo(mainMenu())
while True:
if len(currentPage)==0:
print("Thank you for using our program! <3")
break
currentPage[-1]()
[编辑]:我希望第14行的打印
[mainMenu()]
但它打印
[]
相反
似乎由于某种原因,从列表中调用函数会使列表变为空。你能建议一些解决办法吗?