Stay hungry, Stay foolish

python编写的三级菜单(字典练习)

Posted on By zzk

题目

运用python中的dict等知识编写一个三级菜单,要求如下:

  1. 任意的三级菜单
  2. 可在每级菜单中返回或退出

流程图

python-dict-三级菜单-98d30982-06a1-486c-a527-5731050c7cae

主要功能

数据存储

用python字典的嵌套来存储菜单数据;最后一级菜单最好用列表存储,便于统一用for循环打印(若用字符串则会循环打印单个字母)。

data = {
    'China': {
        'shandong': {'jining':['606'], 'jinan':['friends']},
        'shanghai': {'yangpu':['USST'], 'pudong':['mingzhu']}
    },
    'America': {
        'Alaska': ['阿拉斯加'],
        'California': ['加利福尼亚']
    }
}

显示菜单

显示菜单主要用for循环打印字典里的key参数。

for i in data:
        print(i)

主框架

主要有while循环和多层if判断。

while True:
    print(menu)
    choice = input('(b返回,q退出)请选择菜单:')
    if choice in data:
        next menu...
    elif choice == 'b':
        break
    elif choice == 'q':
        exit()

知识丶总结

  1. 在数据存储的字典中,最后一级菜单最好用列表存储,便于统一用for循环打印(若用字符串则会循环打印单个字母);
  2. a in b判断a是否在b内;
  3. 在processon中完整流程图画不开,画了其中一层菜单……

这个三级菜单是对字典嵌套的练习,在编程过程中也发现了很多细节操作。当然在实际应用中肯定不会这么写多级菜单的——因为有太多的重复工作了。

源代码

https://github.com/artintZ/python/blob/master/day2/3_level_menu.py