python实战演练(二)三级菜单

一.实现功能

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

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

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

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

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

二,流程图

#-*- Coding:utf-8 -*-
# Author: kking
‘‘‘
作业需求:
1. 运行程序输出第一级菜单
2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单
3. 菜单数据保存在文件中
4. 让用户选择是否要退出
5. 有返回上一级菜单的功能
‘‘‘

import sys
data = {
    ‘海贼王‘:{
        ‘草帽海贼团‘:{
            ‘路飞‘:{‘果实能力‘:‘橡胶果实‘,‘霸气‘:[‘武装色霸气‘,‘见闻色霸气‘,‘霸王色霸气‘],‘男‘:21},
            ‘索罗‘:{‘果实能力‘:‘无‘,‘霸气‘:[‘武装色霸气‘,‘见闻色霸气‘],‘男‘:24},
            ‘香吉士‘:{‘果实能力‘:‘无‘,‘霸气‘:[‘武装色霸气‘,‘见闻色霸气‘],‘男‘:23},
        },
        ‘七武海‘:{
            ‘波雅汉库克‘:{‘果实能力‘:‘甜甜果实‘,‘霸气‘:[‘武装色霸气‘,‘见闻色霸气‘,‘霸王色霸气‘],‘女‘:20},
            ‘鹰眼米霍克‘:{‘果实能力‘:‘无‘,‘霸气‘:[‘武装色霸气‘,‘见闻色霸气‘],‘男‘:26},
            ‘小丑巴基‘:{‘果实能力‘:‘分裂果实‘,‘霸气‘:‘无‘,‘男‘:25},
        },
        ‘四皇‘:{
            ‘香克斯‘:{‘果实能力‘:‘未知‘,‘霸气‘:[‘武装色霸气‘,‘见闻色霸气‘,‘霸王色霸气‘],‘男‘:28},
            ‘黑胡子‘:{‘果实能力‘:‘黑暗果实‘,‘霸气‘:[‘武装色霸气‘,‘见闻色霸气‘],‘男‘:28},
            ‘凯多‘:{‘果实能力‘:‘未知‘,‘霸气‘:[‘武装色霸气‘,‘见闻色霸气‘],‘男‘:28},
        },

    },
    ‘妖精的尾巴‘:{
        ‘灭龙魔导师‘:{
            ‘纳兹‘:{‘属性能力‘:‘火之灭龙魔法‘,‘男‘:21,},
            ‘伽吉鲁‘:{‘属性能力‘:‘铁之灭龙魔法‘,‘男‘:23,},
            ‘温蒂‘:{‘属性能力‘:‘天之灭龙魔法‘,‘女‘:18,},
        },
        ‘超S魔导师‘:{
            ‘吉尔达斯‘:{‘属性能力‘:‘粉碎‘,‘男‘:28},
            ‘艾璐萨‘:{‘属性能力‘:‘变装魔法‘,‘女‘:26},
            ‘米拉杰‘:{‘属性能力‘:‘变成撒旦‘,‘女‘:27},
        },
        ‘六魔将‘:{
            ‘深夜‘:{‘属性能力‘:‘扭曲空间‘,‘男‘:24},
            ‘克布拉‘:{‘属性能力‘:‘毒之灭龙魔法‘,‘男‘:24},
            ‘安吉拉‘:{‘属性能力‘:‘召唤星灵‘,‘女‘:22},
        },
    },
    ‘火影‘:{
       ‘木叶村‘:{
           ‘宇智波.鼬‘: {‘属性能力‘:‘万花筒写轮眼‘,‘男‘:26},
           ‘日向雏田‘: {‘属性能力‘:‘白眼‘,‘女‘:24},
           ‘我爱罗‘: {‘属性能力‘:‘砂纸守鹤‘,‘男‘:24},
       },
        ‘晓‘:{
            ‘佩恩‘:{‘属性能力‘:‘轮回眼‘,‘男‘:28},
            ‘鬼鲛‘:{‘属性能力‘:[‘水遁‘,‘鲛肌‘],‘男‘:28},
            ‘迪达拉‘:{‘属性能力‘:[‘黏土炸弹‘,‘自爆‘],‘男‘:28}
        },
        ‘代目‘:{
            ‘初代‘:{‘姓名‘:‘千手柱间‘,‘属性能力‘:‘树诞降临‘,‘男‘:99999},
            ‘三代‘:{‘姓名‘:‘猿飞‘,‘属性能力‘:[‘土流大河‘,‘召唤猿魔‘],‘男‘:64},
            ‘四代‘:{‘姓名‘:‘波风水门‘,‘属性能力‘:[‘飞雷神之术‘,‘螺旋丸‘],‘男‘:34},

        },
    },
}
def _exit():                          #定义一个退出循环打印查询结果函数
    print(‘*********查询结果*******‘)
    for query_result in query_results:
        print(query_result)
    sys.exit(‘退出程序‘)

query_results = []      #定义一个空列表,用来储存查询结果
for d1 in data:         #首先遍历第一级菜单并打印
    print(d1)
while True:                 #循环第一级菜单,如果用户输入内容错误或为空则给出提示,直到为True执行第二层菜单循环
    choices = input(‘请选择漫画>>>:‘)
    if choices in data:         #判断用户输入内容是否包含在第一层菜单内

        while True:         #循环第二级菜单,如果用户输入内容错误或为空则给出提示,直到为True执行第三层菜单循环
            for d2 in data[choices]:    #遍历第二级菜单并打印
                print(‘\t‘,d2)
            choices2 = input(‘请选择下级菜单>>>:‘)
            if choices2 in data[choices]:   #判断用户输入内容是否包含在第二层菜单内

                while True: #循环第三级菜单,如果用户输入内容错误或为空则给出提示,直到为True执行最后一层循环
                    for d3 in data[choices][choices2]:  #遍历第三级菜单并打印
                        print(‘\t\t\t‘,d3)

                    choices3 = input(‘请选择动漫人物>>>:‘)
                    if choices3 in data[choices][choices2]: #判断用户输入内容是否包含在第三层菜单内
                        query_results.append(choices3)          #将choices3的值存入 query_results列表中
                        for result in data[choices][choices2][choices3].items():  #循环遍历第三级菜单参数
                            query_results.append(result)        #根据用户输入choices3为键,找到相应的值,
                                                                # 存入query_results列表中并打印
                            print(result)
                        user_goon = input(‘是否继续查询>>>?   q:退出查询‘)
                        if user_goon != ‘q‘:        #判断用户是否继续查询,如结果不为q则用户继续选择想要查询的人物
                            pass
                        else:                       #判断用户是否继续查询,如结果为q则退出整个循环
                            _exit()
                    elif choices3 == ‘‘ or choices3 == ‘ ‘:     #判断用户输入的choices3内容是否为空
                        print("输入不能为空")
                    elif choices3 == ‘b‘:               #判断用户输入内容是否为返回上一级菜单
                        break
                    elif choices3 ==‘q‘:        #判断用户输入内容是否为q
                        _exit()
                    else:                       #判断用户输入内容是否存在
                        print(‘人物不存在请重新输入‘)

            elif choices2 == ‘‘ or choices2 == ‘ ‘:
                print("输入不能为空")
            elif choices2 == ‘q‘:
                _exit()
            elif choices2 == ‘b‘:
                break
            else:
                print(‘菜单不存在请重新输入‘)

    elif choices == ‘‘ or choices == ‘ ‘:
        print("输入不能为空")
    elif choices == ‘q‘:
        _exit()
    else:
print(‘漫画不存在请重新输入‘)

原文地址:https://www.cnblogs.com/kking-lh/p/9983689.html

时间: 2024-10-04 01:16:54

python实战演练(二)三级菜单的相关文章

(转)Python字典实现三级菜单

Python字典实现三级菜单 原文:https://www.cnblogs.com/pyramid1001/p/5803294.html 1 ################################################ 2 # Task Name: 三级菜单 # 3 # Description:打印省.市.县三级菜单 # 4 # 可返回上一级 # 5 # 可随时退出程序 # 6 #----------------------------------------------#

python实例_三级菜单

一,作者介绍 吴海东:My Blog:http://www.cnblogs.com/whd-672701 二,程序说明 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功能 创建一个写有三层菜单的文件"3leve",菜单内容可以自定义. 脚本例子 with open("3level",'r',encoding="utf-8") a

python 购物车和三级菜单

程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 #-*- coding:utf8 -*- shopping_list=[] product_list = [ ('Iphone',5800), ('Mac Pro',9800), ('Bike',800), ('Watch',10600), ('Coffee',31), ('Alex Python

Python程序3——三级菜单程序

程序: 三级菜单 要求: 打印省.市.县三级菜单 可返回上一级 可随时退出程序 1 menu = { 2 '北京':{ 3 '海淀':{ 4 '五道口':{ 5 'soho':{}, 6 '网易':{}, 7 'google':{} 8 }, 9 '中关村':{ 10 '爱奇艺':{}, 11 '汽车之家':{}, 12 'youku':{}, 13 }, 14 '上地':{ 15 '百度':{}, 16 }, 17 }, 18 '昌平':{ 19 '沙河':{ 20 '老男孩':{}, 21

Python练习_三级菜单

打印省.市.县三级菜单 可返回上一级 可随时退出程序 用递归实现: menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {}, '汽车之家': {}, 'youku': {}, }, '上地': { '百度': {}, }, }, '昌平': { '沙河': { '老男孩': {}, '北航': {}, }, '天通苑': {}, '回龙观': {}, }, '朝阳': {

python练习——moudule01——三级菜单

'''作业2,三级菜单:1. 运行程序输出第一级菜单2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单''' menu={ '上海':{ '徐汇区':{ '卓挚', '腾讯' } }, '南京':{ '秦淮':{ '东方航空', '朗诗' } }, '盐城':{ '大丰':{ '森创', '阿胡苏' } }} #二逼青年版while True: for key1 in menu: print(key1) choice1=input('choice1>>:').strip() if choi

Python字典实现三级菜单

1 ################################################ 2 # Task Name: 三级菜单 # 3 # Description:打印省.市.县三级菜单 # 4 # 可返回上一级 # 5 # 可随时退出程序 # 6 #----------------------------------------------# 7 # Author:Oliver Lee # 8 ###########################################

Python 实例3—三级菜单

老男孩培训学习: 1 ''' 2 Author:Ranxf 3 ''' 4 menu = { 5 '北京': { 6 '海淀': { 7 '五道口': { 8 'soho': {}, 9 '网易': {}, 10 'google': {} 11 }, 12 '中关村': { 13 '爱奇艺': {}, 14 '汽车之家': {}, 15 'youku': {}, 16 }, 17 '上地': { 18 '百度': {}, 19 }, 20 }, 21 '昌平': { 22 '沙河': { 23

python————————2(三级菜单)

#建立一个字典 dq={ '北京':{ '东城区':{ '安定门':{}, '和平里':{}, '鼓楼大街':{}, }, '西城区':{ '广安门':{}, '天桥':{}, '陶然亭':{}, }, '海淀区':{ '中关村':{}, '学院路':{}, '紫竹院':{}, }, '朝阳区':{ '北苑':{}, '安贞':{}, '大屯':{}, }, }, '上海':{ '黄埔区':{ '红山':{}, '大沙':{}, '长洲':{}, }, '徐汇区':{ '天平路':{}, '枫林

闲着无聊 一个python的,三级菜单。装逼版。

menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {}, '汽车之家': {}, 'youku': {}, }, '上地': { '百度': {}, }, }, '昌平': { '沙河': { '老男孩': {}, '北航': {}, }, '天通苑': {}, '回龙观': {}, }, '朝阳': {}, '东城': {}, }, '上海': { '闵行': { "人