• 作业2:城市三级菜单


    三级菜单:

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

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

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

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

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

    flag=True
    dict_menu={#定义城市字典名称。
    "四川省":{
    "成都市":["新都区","成华区","天府新区"],
    },
    "山东省": {
    "青岛市": ["四方区", "市南区", "市北区"],
    },
    }

    while flag:#循环打印城市列表
    for i,v in enumerate(dict_menu.keys()):#用enumerate的方法前面加上数字序号
    print(i,v)#打印城市
    num_1=input('请输入省份菜单号,按q退出:')
    if num_1=='q':#判断如果输入q就直接退出
    flag=False
    break
    if num_1.isdigit():#判断是否输入的是数字
    num_1=int(num_1)
    if num_1<=len(dict_menu):
    key_1=list(dict_menu.keys())[num_1]#输入一级菜单。
    print(key_1)
    while flag:
    for i1,v1 in enumerate(dict_menu[key_1]):
    print(i1,v1)
    num_2=input('请输入省份菜单号,按q退出或按b返回:')
    if num_2 == 'q': # 判断如果输入q就直接退出
    flag = False
    break
    if num_2=='b':#判断如果输入b就返回上一级
    break
    if num_2.isdigit():#判断是否是数字
    num_2=int(num_2)
    if num_2<=len(dict_menu[key_1]):
    key_2=list(dict_menu[key_1].keys())[num_2]
    while flag:
    for i2,v2 in enumerate(dict_menu[key_1][key_2]):
    print(i2,v2)
    num_3=input('请输入省市州菜单号,按q退出或按b返回:')
    if num_3 == 'q': # 判断如果输入q就直接退出
    flag = False
    break
    if num_3 == 'b':
    break
    if num_3.isdigit():
    num_3=int(num_3)
    if num_3<=len(dict_menu[key_1][key_2]):
    key_3=list(dict_menu.keys()[key_1][key_2])[key_3]
    while flag:
    for i3,v3 in enumerate(dict_menu[key_1][key_2][key_3]):
    print(i3,v3)
    num_4=input('按q退出或按b返回!')
    if num_4 == 'q': # 判断如果输入q就直接退出
    flag = False
    break
    if num_4 == 'b':
    break




  • 相关阅读:
    ASP.NET Core 中的 Razor Pages 介绍
    使用postman测试.net webservice接口
    vue.js页面打印window.print
    缓存策略汇总
    解决w3wp.exe内存占用过高的方法
    SqlServer 分库分表
    webform 回发或回调参数无效
    delphi unix时间戳 10位 13位 转换
    nt路径转dos windows路径
    PHP在linux下 连接MSSQL
  • 原文地址:https://www.cnblogs.com/zhangzihong/p/6074627.html
Copyright © 2020-2023  润新知