文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

实现一个三级菜单小功能

2023-01-30 22:09

关注

记录下一下

  1 #!/usr/bin/env python3
  2 '''
  3 需求:三级菜单
  4 三级菜单,依次进入子菜单
  5 '''
  6 City = {
  7     '北京':{
  8         '大兴区':[
  9             '亦庄','黄村','中信新城','B返回','Q退出'
 10         ],
 11         '丰台区':[
 12             '岳各庄','五棵松','丰台路口','B返回','Q退出'
 13         ],
 14         '朝阳区':[
 15             '劲松','双井','国贸','B返回','Q退出'
 16         ],
 17         'B返回':'返回',
 18         'Q退出':'退出'
 19     },
 20     '上海':{
 21         '浦东区':[
 22             '世纪大道','陆家嘴','盛世年华','B返回','Q退出'
 23         ],
 24         '普陀区':[
 25             '东方汽配城','金沙社区','东锦国际大厦','B返回','Q退出'
 26         ],
 27         '徐汇区':[
 28             '上海应用技术大学','上海长途客运南站','上海东方体育中心','B返回','Q退出'
 29         ],
 30         'B返回': '返回',
 31         'Q退出': '退出'
 32     },
 33     '广州':{
 34         '天河区':[
 35             '珠江公园','天河体育场','广东师范大学','B返回','Q退出'
 36         ],
 37         '白云区':[
 38             '广州体育馆','白云文化广场','广州百信广场','B返回','Q退出'
 39         ],
 40         '海珠区':[
 41             '中山大学','城市职业学院','南方医科大学','B返回','Q退出'
 42         ],
 43         'B返回': '返回',
 44         'Q退出': '退出'
 45     }
 46 }
 47 
 48 # print(City)
 49 
 50 Choice_of_city = list(City.keys())#字典转换为列表
 51 # print(City.keys())
 52 # print(City.values())
 53 #打印字典使用format函数格式化
 54 # print('{0[0]} {0[1]} {0[2]}'.format(Choice_of_city))
 55 
 56 def menu():#使用函数def
 57     while True:#只要为真就无限循环
 58         print('{0[0]} {0[1]} {0[2]}'.format(Choice_of_city))#将列表Choice_of_city以函数format格式化打印
 59         User_input_City = input('请选择城市:').strip()#用户输入,次数strip为移除空白
 60         if User_input_City in Choice_of_city:#判断用户输入的信息是否在列表User_input_City中
 61             District = list(City[User_input_City])#获取用户输入信息并根据用户输入信息取出字典City的values,
 62             # 此处用户输入信息User_input_City相当于字典City的keys,并且把获取的values转换为列表District
 63             while True:#只要为真就无限循环
 64                 # if User_input_City in Choice_of_city:
 65                 print('{0[0]} {0[1]} {0[2]} {0[3]} {0[4]}'.format(District))#将列表District以函数format格式化打印
 66                 User_input_District = input('请选择区县:').strip()#用户输入
 67                 if User_input_District not in District:#判断用户输入不在于列表District中
 68                     print('输入错误,请重新输入!!')
 69                     continue#退出当前循环继续下一次循环
 70                 if User_input_District in District:#判断用户输入是否在列表District中
 71                     if User_input_District == District[3]:#判断用户输入是否等于District中第4个元素
 72                         break#跳出当前循环
 73                     elif User_input_District == District[4]:#判断用户输入是否等于District中第4个元素
 74                         return#退出整个函数,这里用来退出所有循环
 75                     else:
 76                         while True:
 77                             Township = (City[User_input_City][User_input_District])
 78                             print('{0[0]} {0[1]} {0[2]} {0[3]} {0[4]}'.format(Township))
 79                             User_input_township = input('选择乡镇:').strip()
 80                             if User_input_township not in Township:
 81                                 print('输入错误,请重新输入!!')
 82                                 continue
 83                             if User_input_township in Township:
 84                                 if User_input_township == Township[3]:
 85                                     break
 86                                 if User_input_township == Township[4]:
 87                                     return
 88                                 else:
 89                                     print('Bingo!!!')
 90                                     return
 91                             else:
 92                                 continue
 93                 else:
 94                     break
 95             else:
 96                 continue
 97         else:
 98             print('输入错误,请重新输入!!')
 99             continue
100         # else:
101         #         continue
102     # else:
103     #     print('输入不正确,请重新输入!!')
104 menu()

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯