该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

代码:

代码:

dic_china = {

"直辖市":{

"北京市":["东城区","西城区","崇文区","宣武区","朝阳区","海淀区","丰台区",

"石景山区","门头沟区","房山区","通州区","顺义区","昌平区","大兴区",

"怀柔区","平谷区","延庆县","密云县",],

},

"省":{

"浙江省":{

"杭州市":["拱墅区","上城区","下城区","江干区","西湖区","滨江区","萧山区","余杭区","建德市","富阳市",

"临安市","桐庐县","淳安县"],

"宁波市":["海曙区","江东区","江北区","北仑区","镇海区","鄞州区","余姚市","慈溪市","奉化市","象山县",

"宁海县"],

"温州市":["鹿城区","龙湾区","瓯海区","瑞安市","乐清市","洞头县","永嘉县","平阳县","苍南县","文成县",

"泰顺县"],

"嘉兴市":["南湖区","秀洲区","海宁市","平湖市","桐乡市","嘉善县","海盐县"],

"湖州市":["吴兴区","南浔区","德清县","长兴县","安吉县"],

"绍兴市":["越城区","诸暨市","上虞市","嵊州市","绍兴县","新昌县"],

"金华市":["婺城区","金东区","兰溪市","义乌市","东阳市","永康市","武义县","浦江县","磐安县"],

},

}

}

print('欢迎使用中国省市查询工具'.center(30,'-'))

while True:

#---------遍历字典china,并编号输出城市分类信息------

for i,j in enumerate(dic_china,1):

print(i,j)

classify_num = input('请选择想要查看的城市分类的编号[退出:q]:')

#---------判断输入编号是否正确----------

if classify_num.isdigit():

classify_num = int(classify_num)

if 1 <= classify_num <= len(dic_china):

#---------将客户选择的类别的城市信息存入新的字典中----------

province_municipality_list = list(dic_china.keys())

#---------判断客户是选择额直辖市类-------

if province_municipality_list[classify_num-1] == '直辖市':

dic_municipality = dic_china[province_municipality_list[classify_num-1]]

print(''.center(50, '-'))

for i, j in enumerate(dic_municipality, 1):

print(i, j)

municipality_num = input('请选择想要查看的直辖市的编号[返回上一级菜单:q]:')

#---------判断输入编号是否正确----------

if municipality_num.isdigit():

municipality_num = int(municipality_num)

if 1 <= municipality_num <= len(dic_municipality):

municipality_list = list(dic_municipality.keys())

county_list = dic_municipality[municipality_list[municipality_num-1]]

print('以下是该直辖市下所有区的信息:')

print(county_list)

elif municipality_num.upper() == 'Q':

print(''.center(50,'-'))

else:

print('输入错误,请重新输入!!')

else:

dic_province = dic_china[province_municipality_list[classify_num-1]]

print(''.center(50, '-'))

#---------遍历字典dic_Province,并编号输出省级城市信息---------

for i, j in enumerate(dic_province, 1):

print(i, j)

province_num = input('请选择想要查看的省的编号[返回上一级菜单:q]:')

# ---------判断输入编号是否正确----------

if province_num.isdigit():

province_num = int(province_num)

if 1<= province_num <= len(dic_province):

# ---------将客户选择的市信息存入新的字典中----------

province_list = list(dic_province.keys())

dic_city = dic_province[province_list[province_num-1]]

print(''.center(50, '-'))

for i, j in enumerate(dic_city, 1):

print(i, j)

city_num = input('请选择想要查看的市的编号[返回上一级菜单:q]:')

if city_num.isdigit():

city_num = int(city_num)

if 1 <= city_num <= len(dic_city):

city_list = list(dic_city.key())---------------------------->问题在这!!!!!!!!!!!!!

elif province_num.upper() == 'Q':

print(''.center(50,'-'))

else:

print('输入错误,请重新输入!!')

else:

print('输入的编号不在城市分类的编号范围内,请重新输入!!')

elif classify_num.upper() == 'Q':

print('感谢您的使用!!')

else:

print('输入错误,请重新输入!!')

问题:

代码中标红的位置,查询字典dic_city的key值存入city_list列表中,但是key方法无法使用,

提示:Unresolved attribute reference 'key' for class

求大神们给我解答下

python 多级菜单_python多级菜单相关推荐

  1. python菜单栏添加子菜单_python添加菜单图文讲解

    分享一个基于tkinter的菜单程序添加操作,希望对需要的朋友有帮助. 打开python集成开发环境,使用 from tkinter import Tk from tkinter import Men ...

  2. python三级菜单_python三级菜单

    需求:编写三级菜单 1.菜单需求: 一级菜单:            北京                                  山西 二级菜单:    朝阳                ...

  3. python普通菜单_python多级菜单

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 代码: 代码: dic_china = { "直辖市":{ "北京市":["东城区",&quo ...

  4. python三级菜单_Python 三级菜单

    三级菜单实现的基本原理就是在字典中vaules也可以是字典,所以可以层层嵌套形成多级的格局 我们可以来看一下代码: # 一级菜单 def menu1(): print('一级菜单'.center(40 ...

  5. python做菜单_python添加菜单图文讲解

    python添加菜单图文讲解 分享一个基于tkinter的菜单程序添加操作,希望对需要的朋友有帮助. 打开python集成开发环境,使用 from tkinter import Tk from tki ...

  6. python选项菜单_Python TKinter菜单和选项

    @曼尼102030 我有这个密码.基本上,我想要的是在树中插入一个节点,其中包含用户在Tkinter中输入的值.我不知道用户输入的值是否真的被插入了,因为我不知道如何调用我创建的函数来打印树(该函数也 ...

  7. python三级菜单设计题目_Python三级菜单

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 三级菜单:打印省.市.县三级菜单. 可返回上一级,可随时退出程序首先准备基础数据 ...

  8. python制作二级菜单_python之tkinter使用-二级菜单

    # 菜单功能说明:二级菜单 import tkinter as tk from tkinter import messagebox root = tk.Tk() root.title('菜单选择') ...

  9. [css] 请使用css写一个多级的下拉菜单

    [css] 请使用css写一个多级的下拉菜单 <!DOCTYPE html> <html lang="en"><head><meta ch ...

最新文章

  1. Matlab与随机变量和样本的数字特征
  2. PTA第二个编程题总结
  3. Bootstrap 排版
  4. jdbc postgresql mysql_jdbc无法连接postgresql数据库
  5. springmvc请求返回一个字符_response 返回 带双引号 的字符串解决办法 springmvc
  6. github private链接访问_Hands-On Design Patterns With C++(十八)访问者模式与多分派(下)...
  7. 电商项目--使用GitHub进行版本管理,完美衔接idea详细流程,Java初阶知识点,完整步骤
  8. android theme.appcompat.light,Theme.AppCompat.Light的解决方法
  9. 2016-408-计组-有如下c语言程序段
  10. 为什么老师说尽量别用wps(图文详解)
  11. Flask Uploads
  12. vue中使用阿里字体图标库
  13. 我如何建立热线电话喀拉拉邦并为抗洪救灾做出了贡献
  14. MAC上测试常用工具整理
  15. 为什么要阅读——兼分享《首先,打破一切常规》[中译文]:世界顶级管理者的成功秘诀/(美)马库斯#183;白金汉,(美)柯特#183;科夫曼 著...
  16. [附源码]Python计算机毕业设计SSM基于的影评系统(程序+LW)
  17. 用计算机用u盘怎么切换,u盘上的东西换个电脑就不见了怎么办啊
  18. 硅谷钢铁侠--Elon Musk
  19. MiCO系统开发MiCoder-IDE安装遇到的坑
  20. 生鲜小程序解决方案,微信水果生鲜小程序制作

热门文章

  1. Nginx内置变量以及日志格式变量参数详解
  2. 实战3--设计管理模块, 第4步, 新增模块, 部门管理
  3. js防止客户端多触发
  4. 12.文件系统——磁盘管理之RAID概述
  5. ArcIMS体系结构
  6. [转帖]爬过这 6 个坡,你就能对 Linux 操作系统了如指掌
  7. hibernate学习(4)
  8. DedeCMS筛选简单实现方法不改后台源文件
  9. c++面对对象设计 2
  10. 用SignalR 2.0开发客服系统[系列3:实现点对点通讯]