python作业5:多级菜单

# 作业5:多级菜单#   ● 三级菜单,省、市、县、公司,要求程序启动后,允许用户依次选择进入各子菜单#   ● 可以在任意一级菜单返回上级菜单,也可以退出程序#   ● 所需新知识点:列表、字典## 思路:# 先创字典,字典三层嵌套#逐层提取key字段,#先不管各种可能,把主程序写好,即各种选择都是好好的情况下能实现的功能,再补充各种可能#这个地方其实是重点考察while循环里面的continue和break#出于程序简化,没有考虑输入数字超范围、输入的不是数字、q、b三者以外的情况
dict1 ={
        "省1":{
            "市11":{
                "县111":{
                    "公司1111:{}",
                    "公司1112:{}"
                },
                "县112":{
                    "公司1121:{}",
                    "公司1122:{}"
                }
            },
            "市12":{
                "县121":{
                    "公司1211:{}",
                    "公司1212:{}"
                },
                "县122":{
                    "公司1221:{}",
                    "公司1222:{}"
                }
            },
            "市13":{
                "县131":{},"县132":{}
            }
        },
        "省2":{
            "市21":{
                "县211":{},"县212":{}
            },
            "市22":{
                "县221":{},"县222":{}
            },
            "市23":{
                "县231":{},"县232":{}
            }
        },
        "省3":{
            "市31":{
                "县311":{},"县312":{}
            },
            "市32":{
                "县321":{},"县222":{}
            },
            "市33":{
                "县331":{},"县332":{}
            }
        }
}

judge = True

while judge:
    list1 = list(dict1.keys())
    list1.sort()
    print("The level_1 menu:")
    for index,item in enumerate(list1):
        print(index,item)
    choice1 = input("Please choose level_1:")
    if choice1.isdigit():
        choice1 = int(choice1)
        choice_key1 = list1[choice1]
        list2 = list(dict1.get(choice_key1))
        list2.sort()
        while judge:
            print("The level_2 menu:")
            for index, item in enumerate(list2):
                print(index, item)
            choice2 = input("Please choose level_2:")
            if choice2.isdigit():
                choice2 = int(choice2)
                choice_key2 = list2[choice2]
                list3 = list(dict1.get(choice_key1).get(choice_key2))
                list3.sort()
                while judge:
                    print("The level_3 menu:")
                    for index, item in enumerate(list3):
                        print(index, item)
                    choice3 = input("Please choose level_3:")
                    if choice3.isdigit():
                        choice3 = int(choice3)
                        choice_key3 = list3[choice3]
                        list4 = list(dict1.get(choice_key1).get(choice_key2).get(choice_key3))
                        list4.sort()
                        print("The level_4 menu:")
                        for index, item in enumerate(list4):
                            print(index, item)
                        choice4 = input("It‘s the last level,Please come back:")
                        if choice4 == "q":
                            # 判断位置空后,可以连续跳出多个循环
                            judge = False
                            # 这里是跳出了本while循环的所有循环
                            break
                        elif choice4 == "b":
                            # 这里只是跳出了本while循环中的一次循环
                            continue
                    elif choice3 == "q":
                        judge = False
                        break
                    elif choice3 == "b":
                        break
            elif choice2 == "q":
                judge = False
                break
            elif choice2 == "b":
                break
    elif choice1 == "q" :#是q退出
        judge = False
    else:#不是q也不是数字,重新选
        print("Please choose the number.")

原文地址:https://www.cnblogs.com/welljoy/p/8274136.html

时间: 2024-11-09 02:21:00

python作业5:多级菜单的相关文章

python作业:多级菜单

python作业: 要求: 1.三级菜单 2.选择可以依次进入子菜单 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 #__author__ = 'Administrator' 4 5 data={ 6 'china':{ 7 'zhejiang':{ 8 '杭州', 9 '宁波', 10 '余姚', 11 '建德', 12 }, 13 'jiangxi':{ 14 '上饶', 15 '南昌', 16 '瑞金', 17 '德兴', 18 '广丰'

python作业-多级菜单

练习python多级菜单的读功能,其实就是列表或者字典的iter 功能要求: 运行程序输出第一级菜单 选择一级菜单某项,输出二级菜单,同理输出三级菜单 菜单数据保存在文件中 让用户选择是否要退出 有返回上一级菜单的功能 下面是一个简单版本的:通过逐步迭代读取列表,这里其实可以看到有好多的重复代码.比如每次都迭代menu_dict[choice].. 文艺青年版其实就是将之前一直重复使用的东西给弄成变量,然后每次选择完之后重新给men_dict赋值 原文地址:http://blog.51cto.c

day1作业二:多级菜单

    作业二:多级菜单 1.三级菜单 2.可以次选择进入各子菜单 3.所需新知识点:列表.字典 4.打印b回到上一层 5.打印q退出循环 流程图如下: readme: (1)存储三级菜单的字典;设置标识符active用来循环: (2)生成存储省市的字典,d1 = {1: '河南', 2: '广东', 3: '湖南'}; (3)用户输入查询编码,如果用户输入q退出循环:如果用户输入小于1或大于3则重新输入:输入编码在range(1,4)中,则输出省,并继续循环; (4)生成存储市的字典d2 =

python 多级菜单进入城市

python 多级菜单  可实现功能有:进入子菜单 返回上一级菜单 退出菜单 帮助  #/usr/bin/env python3 # -*- encoding: utf-8 -*- # Auther:yooma 2016-08-14 22:00 import sys execLaye = {1:{"北京":{1:{"东城":{1:{"建国门":{1:"建国门大厦",2:"门建国大厦"}},2:{"

Day1作业---登录接口及多级菜单

作业一:编写登录接口 输入用户密码 认证成功后显示欢迎信息 输错三次后锁定 作业二:多级菜单 三级菜单 可一次选择进入各子菜单 所需新知识点:列表.字典

day1作业二:多级菜单操作(函数实现)

作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入back返回上一层,输入quit退出整个程序 本示例的三级菜单是一个yaml文件格式,格式如下: 香港: 香港 澳门: 澳门 台湾: 台湾 钓鱼岛: 钓鱼岛 北京市: - 市辖区 - 东城区 - 西城区 - 崇文区 - 宣武区 - 朝阳区 河北省: - 石家庄市: - 长安区 - 桥东区 - 桥西区 - 新华区 - 唐山市: - 路南区 - 路北区 - 古冶区 - 开平区 - 秦皇岛市: -

day1作业二:多级菜单操作

作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入b返回上一层,输入q退出整个程序

Day1作业: 登录接口和多级菜单

1.登录接口  实现功能: 1用户注册 2用户登录 3用户名是否存在 4密码错误三次锁定,并更新用户锁定状态 5用户锁定状态匹配   流程图  涉及到1个文件作为库 passwd      #用户密码文件,1为锁定状态 zhy:123456:0alex:234567:0xiaoming:45678:1 1 #!/usr/bin/env python3 2 #coding:utf-8 3  4 user_name = input("请输入用户名:") 5 n = 0 6 line = &

老男孩python3学习,课堂作业1.2 多级菜单查询

# Version: python3.6# Author: Gao# 多级菜单:三级菜单,可依次选择进入子菜单,列表,字典 city_dict = { "四川省": { "成都市": ["锦江区", "青羊区", "金牛区", "武侯区", "成华区", "龙泉驿区"], "攀枝花市": ["东区", &qu