多级菜单 简单实现

需求:

可依次选择进入下一层;

可从任意一层返回上一层;

可从任意一层退出程序。

摘于“老男孩儿网上课程作业”

多级菜单简单的思路就是多级循环,在while里面嵌套while循环,但是在写的过程中就会发现很多代码都是重复写,而且如果遇到100级的菜单就要写100级的循环,很不方便。

如何将代码尽量简化并且可以适用于N级菜单呢,其实可以用到list,将每一级菜单动态的存入到list中,要打印的时候再从list中取出就会方便很多。

以下是代码部分:

lst = []
while True:
    for i in menu:
        print(i)
    choice = input('输入您要进入省/市...(输入R:返回上一级;输入其它或Q:退出):')
    if choice in menu:
        lst.append(menu)
        menu = menu[choice]
    elif choice == 'R':
        if len(lst) == 1:
            menu = lst[0]
        else:
            menu = lst.pop()
    else:
        break
需要注意的是这个功能不支持一进入程序就输入R

你可能感兴趣的:(多级菜单 简单实现)