zoukankan      html  css  js  c++  java
  • 三级菜单(低端版VS高端版)

    >>>低端版

    menu={'山西':
                 {'太原':
                         {'迎泽':['柳巷','五一广场','太原站'],
                          '小店':['山西财经大学','山西大学','武宿机场'],
                          '晋源':['晋祠','蒙山大佛''山西省图书馆']
                          },
                  '吕梁':
                         {'柳林':['联盛中学','龙花垣'],
                          '离石':['东关','滨河路的疯狗']
                          },
                  '大同':
                         {'南郊':['大同大学','方特'],
                          '云冈':['云冈石窟'],
                          }
                  },
          '北京':
                 {'朝阳':
                         {'国贸':['渣打银行','CCTV'],
                          '望京':['陌陌','奔驰','360'],
                          '三里屯':['优衣库','苹果']
                          },
                  '海淀':
                         {'五道口':['清华','快手'],
                          '中关村':['汽车之家','新东方'],
                          },
                  '昌平':
                         {'沙河':['老男孩','某鸟'],
                          '天通苑':['链家'],
                          '回龙观':['回龙观公园']
                          }
                  },
          '陕西':
                 {'西安':{'未央区':['大明宫遗址公园','汉城湖旅游景区'],
                          '长安区':['翠华山','杨虎城陵园'],
                          },
                  '榆林':{'榆阳区':['世纪广场'],
                          '吴堡县':['黄河大道']
                         }
                 }
          }
    exit_flag=False
    while exit_flag==False:
        for key in menu:
            print(key)
        choice=input('>>请选择进入下一层或选择exit退出主菜单:').strip()
        if choice=='exit':
            break
        elif choice in menu:
            while exit_flag==False:
                for key2 in menu[choice]:
                    print(key2)
                choice2=input('>>请选择进入下一层或者选择back返回上一层,选择exit退出主菜单:').strip()
                if choice2=='back':
                    break
                elif choice2=='exit':
                    exit_flag=True
                elif choice2 in menu[choice]:
                    while exit_flag==False:
                        for key3 in menu[choice][choice2]:
                            print(key3)
                        choice3=input('>>请选择进入下一层或选择back返回上一层,选择exit退出主菜单:').strip()
                        if choice3=='back':
                            break
                        elif choice3=='exit':
                            exit_flag=True
                        elif choice3 in menu[choice][choice2]:
                            for i in menu[choice][choice2][choice3]:
                                print(i)
                            while exit_flag==False:
                                choice4=input('已到达最后一层,请选择back返回上一层或选择exit退出主菜单>>:').strip()
                                if choice4=='back':
                                    break
                                elif choice4 == 'exit':
                                    exit_flag = True

    >>>高端版
    menu={'山西':
                 {'太原':
                         {'迎泽':['柳巷','五一广场','太原站'],
                          '小店':['山西财经大学','山西大学','武宿机场'],
                          '晋源':['晋祠','蒙山大佛''山西省图书馆']
                          },
                  '吕梁':
                         {'柳林':['联盛中学','龙花垣'],
                          '离石':['东关']
                          },
                  '大同':
                         {'南郊':['大同大学','方特'],
                          '云冈':['云冈石窟'],
                          }
                  },
          '北京':
                 {'朝阳':
                         {'国贸':['渣打银行','CCTV'],
                          '望京':['陌陌','奔驰','360'],
                          '三里屯':['优衣库','苹果']
                          },
                  '海淀':
                         {'五道口':['清华','快手'],
                          '中关村':['汽车之家','新东方'],
                          },
                  '昌平':
                         {'沙河':['老男孩','某鸟'],
                          '天通苑':['链家'],
                          '回龙观':['回龙观公园']
                          }
                  },
          '陕西':
                 {'西安':{'未央区':['大明宫遗址公园','汉城湖旅游景区'],
                          '长安区':['翠华山','杨虎城陵园'],
                          },
                  '榆林':{'榆阳区':['世纪广场'],
                          '吴堡县':['黄河大道']
                         }
                 }
          }
    current_layer=menu                  #设置当前层的初始值为menu
    choiced_layer=[]                    #建立一个已选层列表
    while True:
        for key in current_layer:
            print(key)                  #打印当前层信息
        choice=input('>>>输入名字进入下一层,back返回上一层,exit退出:').strip()
        if choice in current_layer:
            choiced_layer.append(current_layer)    #把当前层加入已选层列表
            current_layer=current_layer[choice]    #当前层进入已选下一层
        elif choice=='back':
            if choiced_layer:                       #如果列表不为空,执行以下操作
                current_layer = choiced_layer.pop() #将最后选择的层从已选层取出来,并赋给当前层
        elif choice=='exit':
            break
        else:
            print('无此项')
  • 相关阅读:
    css3新特性
    线程间通信的三种方法
    硬件相关知识
    time.h
    ldr指令总结
    你不知道的100个小秘密
    ARM学习日记
    C中位域的使用
    《编程之美》第2刷勘误
    排序2
  • 原文地址:https://www.cnblogs.com/Finance-IT-gao/p/10105503.html
Copyright © 2011-2022 走看看