城市三级菜单的实现

1. 运行程序输出第一级菜单

2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单

3. 菜单数据保存在文件中

4. 让用户选择是否要退出

5. 有返回上一级菜单的功能

程序流程图:

#!/usr/bin/env python
menu = {
    '广州':{
        '天河区':{
            '车陂':{
                '嘉悦大学':{},
                '喜鹊餐厅':{},
                '普蜂莲花':{}
            },
            '五山':{
                '达内':{},
                '农业银行':{},
                '华农大学':{},
            },
            '珠江新城':{
                '富力大厦':{},
            },
        },
        '白云区':{
            '同和':{
                '石井':{},
                '三元里':{},
            },
            '万达广场':{},
            '太和':{},
        },
        '海珠':{},
        '荔湾':{},
    },
    '上海':{
        '闵行':{
            "人民广场":{
                '炸鸡店':{}
            }
        },
        '闸北':{
            '火车站':{
                '携程':{}
            }
        },
        '浦东':{},
    },
    '山东':{
        '青岛':{
             '黄岛区':{}
        }
    },
}


exit_flag = False
current_layer = menu

layers = [menu]

while not  exit_flag:
    for line in current_layer:
        print(line)
    choice = input(">>:").strip()
    if choice == "b":
        current_layer = layers[-1]   #退到上一层
        layers.pop()
    elif choice not  in current_layer:
        continue
    else:
        layers.append(current_layer)
        current_layer = current_layer[choice]
原文地址:https://www.cnblogs.com/xuepython/p/6638688.html