代码:
2 dic_china = {
3 "直辖市":{
4 "北京市":["东城区","西城区","崇文区","宣武区","朝阳区","海淀区","丰台区",
5 "石景山区","门头沟区","房山区","通州区","顺义区","昌平区","大兴区",
6 "怀柔区","平谷区","延庆县","密云县",],
8 },
9 "省":{
10 "浙江省":{
11 "杭州市":["拱墅区","上城区","下城区","江干区","西湖区","滨江区","萧山区","余杭区","建德市","富阳市",
12 "临安市","桐庐县","淳安县"],
13 "宁波市":["海曙区","江东区","江北区","北仑区","镇海区","鄞州区","余姚市","慈溪市","奉化市","象山县",
14 "宁海县"],
15 "温州市":["鹿城区","龙湾区","瓯海区","瑞安市","乐清市","洞头县","永嘉县","平阳县","苍南县","文成县",
16 "泰顺县"],
17 "嘉兴市":["南湖区","秀洲区","海宁市","平湖市","桐乡市","嘉善县","海盐县"],
18 "湖州市":["吴兴区","南浔区","德清县","长兴县","安吉县"],
19 "绍兴市":["越城区","诸暨市","上虞市","嵊州市","绍兴县","新昌县"],
20 "金华市":["婺城区","金东区","兰溪市","义乌市","东阳市","永康市","武义县","浦江县","磐安县"],
21 },
22 }
23 }
24
25 print('欢迎使用中国省市查询工具'.center(30,'-'))
26 while True:
27 #---------遍历字典china,并编号输出城市分类信息------
28 for i,j in enumerate(dic_china,1):
29 print(i,j)
30 classify_num = input('请选择想要查看的城市分类的编号[退出:q]:')
31 #---------判断输入编号是否正确----------
32 if classify_num.isdigit():
33 classify_num = int(classify_num)
34 if 1 <= classify_num <= len(dic_china):
35 #---------将客户选择的类别的城市信息存入新的字典中----------
36 province_municipality_list = list(dic_china.keys())
37 #---------判断客户是选择额直辖市类-------
38 if province_municipality_list[classify_num-1] == '直辖市':
39 dic_municipality = dic_china[province_municipality_list[classify_num-1]]
40 print(''.center(50, '-'))
41 for i, j in enumerate(dic_municipality, 1):
42 print(i, j)
43 municipality_num = input('请选择想要查看的直辖市的编号[返回上一级菜单:q]:')
44 #---------判断输入编号是否正确----------
45 if municipality_num.isdigit():
46 municipality_num = int(municipality_num)
47 if 1 <= municipality_num <= len(dic_municipality):
48 municipality_list = list(dic_municipality.keys())
49 county_list = dic_municipality[municipality_list[municipality_num-1]]
50 print('以下是该直辖市下所有区的信息:')
51 print(county_list)
52 elif municipality_num.upper() == 'Q':
53 print(''.center(50,'-'))
54 else:
55 print('输入错误,请重新输入!!')
56 else:
57 dic_province = dic_china[province_municipality_list[classify_num-1]]
58 print(''.center(50, '-'))
59 #---------遍历字典dic_Province,并编号输出省级城市信息---------
60 for i, j in enumerate(dic_province, 1):
61 print(i, j)
62 province_num = input('请选择想要查看的省的编号[返回上一级菜单:q]:')
63 # ---------判断输入编号是否正确----------
64 if province_num.isdigit():
65 province_num = int(province_num)
66 if 1<= province_num <= len(dic_province):
67 # ---------将客户选择的市信息存入新的字典中----------
68 province_list = list(dic_province.keys())
69 dic_city = dic_province[province_list[province_num-1]]
70 print(''.center(50, '-'))
71 for i, j in enumerate(dic_city, 1):
72 print(i, j)
73 city_num = input('请选择想要查看的市的编号[返回上一级菜单:q]:')
74 if city_num.isdigit():
75 city_num = int(city_num)
76 if 1 <= city_num <= len(dic_city):
77 city_list = list(dic_city.key())
78
79 elif province_num.upper() == 'Q':
80 print(''.center(50,'-'))
81 else:
82 print('输入错误,请重新输入!!')
83 else:
84 print('输入的编号不在城市分类的编号范围内,请重新输入!!')
85 elif classify_num.upper() == 'Q':
86 print('感谢您的使用!!')
87 else:
88 print('输入错误,请重新输入!!
问题:
代码中标红的位置,查询字典dic_city的key值存入city_list列表中,但是key方法无法使用,
提示:Unresolved attribute reference 'key' for class
(标红的代码,key少打了一个s,但是问题没有变,key方法不能使用)