码迷,mamicode.com
首页 > 其他好文 > 详细

三级菜单

时间:2018-04-21 16:08:01      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:googl   ice   menu   知识   odi   inpu   汽车   回退   三级   

作业需求

数据结构:

menu = {
    北京:{
        海淀:{
            五道口:{
                soho:{},
                网易:{},
                google:{}
            },
            中关村:{
                爱奇艺:{},
                汽车之家:{},
                youku:{},
            },
            上地:{
                百度:{},
            },
        },
        昌平:{
            沙河:{
                老男孩:{},
                北航:{},
            },
            天通苑:{},
            回龙观:{},
        },
        朝阳:{},
        东城:{},
    },
    上海:{
        闵行:{
            "人民广场":{
                炸鸡店:{}
            }
        },
        闸北:{
            火车站:{
                携程:{}
            }
        },
        浦东:{},
    },
    山东:{},
}

需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
所需新知识点:列表、字典

代码:

# -*- coding:utf-8 -*-
#Author:Kris
menu = {
    北京:{
        海淀:{
            五道口:{
                soho:{},
                网易:{},
                google:{}
            },
            中关村:{
                爱奇艺:{},
                汽车之家:{},
                youku:{},
            },
            上地:{
                百度:{},
            },
        },
        昌平:{
            沙河:{
                老男孩:{},
                北航:{},
            },
            天通苑:{},
            回龙观:{},
        },
        朝阳:{},
        东城:{},
    },
    上海:{
        闵行:{
            "人民广场":{
                炸鸡店:{}
            }
        },
        闸北:{
            火车战:{
                携程:{}
            }
        },
        浦东:{},
    },
    山东:{},
}
while True:
    for i in menu:
        print(i)   #打印省或直辖市
    choice = input("请输入省份或直辖市(退出请按q)-->>>:")
    if choice in menu:
        while True:
            for i2 in menu[choice]:
                print(i2)  #打印区县
            choice2 = input("请输入区县((返回上一级请按b,退出请按q))-->>:")
            if choice2 in menu[choice]:
                while True:
                    for i3 in menu[choice][choice2]:
                        print(i3)  #打印街道
                    choice3 = input("请输入街道-->>((返回上一级请按b,退出请按q))")
                    if choice3 in menu[choice][choice2]:
                        while True:
                            for i4 in menu[choice][choice2][choice3]:
                                print(i4)
                            choice_l = input("已经达到最后一级(返回上一级请按b,退出请按q)")
                            if choice_l == "b":
                                break
                            elif choice_l == "q":
                                exit()
                    elif choice3 =="b":  #从街道返回区县
                        break
                    elif choice3 =="q":
                        exit()
            elif choice2 == "b":  #从区县返回省或直辖市
                break
            elif choice2 =="q":
                exit()
    elif choice == "q":
        exit()

 

三级菜单

标签:googl   ice   menu   知识   odi   inpu   汽车   回退   三级   

原文地址:https://www.cnblogs.com/shengyang17/p/8901633.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!