python普通菜单_python多级菜单

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

代码:

代码:

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

求大神们给我解答下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值