前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第一周作业-三级菜单

第一周作业-三级菜单

作者头像
用户1679793
发布2018-04-28 10:03:00
9140
发布2018-04-28 10:03:00
举报

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

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

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

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

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

代码语言:javascript
复制
#coding:utf-8
#Author:Mr Zhi
file_o = open("menu",'r',encoding="utf-8") #打开三级菜单文件
menu= eval(file_o.read())  #把打开后的文件内容转换成字典(文件内容原本是字典)
def out():     #频繁使用的代码定义个函数
    file_o.close()  #关闭打开的文件
    exit()  #退出程序
for i in menu: #遍历菜单menu字典
    print(i)  #输出字典菜单
       continue
while True:   #开始while循环
    choice = input("输入地区(按q退出,b返回上层):") #输入地区
    if choice == "q": #判断输入chice值是否为q
        out()   #执行函数
    if choice == "b": #判断输入chice值是否为b
        print("已是第一层") 
    if choice not in menu or len(choice) == 0 and choice != "b": #判断输入choice值在菜单文件中或输入choice不等于b
        print("你输入有误,请重新输入")
    if choice in menu:  #p判断输入choice是否在menu中
        for i in menu[choice]: #遍历menu[choice]
            print(i)
        choice2 = input("输入省区(按q退出,b返回上层):")  #输入结果
        if choice2 not in menu[choice] and choice2 != "b":#判断输入choice2 不在字典中和不等于b
            print("你输入有误,请重新输入")
        if choice2 in menu[choice]: #判断
            for i2 in menu[choice][choice2]:  #遍历字典
                print(i2)
            print("最后一层菜单,下面没有了")
        if choice2 == "q": #判断
            out()
        if choice2 == "b":#判断
            continue #继续循环
代码语言:javascript
复制
#三级菜单优化版
#coding:utf-8
#Author:Mr Zhi
menu_f = open("menu",'r',encoding="utf-8")
menu = eval(menu_f.read())
l = []
while True:
    for key in menu:  #遍历字典
        print(key)     #打印出键值,也就是父字典
    choice = input("input your choice:").strip()  #
    if choice == "q": #判断退出
        menu = l[-1]  #赋值menu菜单等于列表的最后一个列表元素,把一个字典加到列表中
        l.pop()  #清空列表
    if len(choice) == 0 or choice not in menu: continue #判断不输入或者输入不在字典中时继续运行程序
    l.append(menu)  #把字典加到列表
    menu = menu[choice]  #重新复制选择的字典名称
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档