第一周作业-三级菜单

需求:

三级菜单:

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

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

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

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

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

评分标准:

用多层嵌套while循环的方式完成作业2,85分

只用一层循环完成作业2,100分

程序实现

1.逻辑图

2.主程序

博客地址:http://www.cnblogs.com/Mr-hu/

程序运行步骤:
第1步:在命令提示符后根据提示输入行政区域或退出
第2步:如果选择华东,那么会转到子级目录,省会及查看 可再选择或返回上一级
第3步:在子级目录选择市级单位,进入次级目录并查看或返回上一级
第4步:返回上一层
readme.txt
#!/usr/bin/env python
#-*- coding:utf-8 -*-


China = {
    "华北":{
       "北京":{
         "东城区":{"安定门街道",
                  "北新桥街道",
                  "东四街道"},
         "西城区":{"西长安街街道",
                  "广安门外街道",
                  "椿树街道"},
         "朝阳区":{"和平街街道",
                  "将台街道",
                  "左家庄街道"},
     },
    },
    "东北":{
       "黑龙江":{
         "哈尔滨市":{
             "道里区",
             "南岗区",
             "香坊区"},
         "大庆市":{
                "萨尔图区",
                "龙凤区",
                "大同区"}
},
    },
    "华东":{
        "江苏":{
          "南京市":{
            "鼓楼区",
            "建邺区",
            "白下区"},
          "苏州市":{
             "相城区",
             "工业园区",
             "吴中区"}
    }
}
}

while True:
    for f in China:
        print(f)
    choice = input("请选择行政区域或选择按q退出:")
    if choice in China:
       while True:
          for i in China[choice]:
             print(i)
          choice2 = input("请选择省份区域或选择按m返回上一层:")
          if choice2 in China[choice]:
             while True:
               for s in China[choice][choice2]:
                   print(s)
               choice3 = input("请选择市级区域或选择按n返回上一层:")
               if choice3 in China[choice][choice2]:
                  while True:
                   for t in China[choice][choice2][choice3]:
                       print(t)
                   choice4 = input("返回上一层,请按b):")
                   if choice4 == "b":
                       break
               elif choice3 == "n":
                   break
          elif choice2 == "m":
              break
    elif choice == "q":
        break
main.py

3.程序运行

 

posted @ 2017-07-30 19:49  Mr.hu  阅读(106)  评论(0编辑  收藏  举报