hebei.txt中包含我国河北省的地区信息,文件第一行为省名和市级名称,其他行为市级名称和其辖区县名称。编程实现循环查询:如果用户输入的名称不在河北境内则,提示“请输入正确的地名!”;如果用户输入市级名称,则输出其下辖所有区县名称;如果用户输入区县名称,则输出其上一级的市级名称;当用户直接按回车键则退出查询,输出“谢谢使用查询系统!”。
时间: 2024-02-17 15:02:53 浏览: 128
读取两个文本文档的数据 得出 (1)利用提供的文本文件各地邮编和区号信息: province.txt 中是部分省名及序号, postalcod.txt中是每个省
5星 · 资源好评率100%
好的,我可以帮你写一个Python程序来实现这个功能。以下是代码:
```python
# 读取文件,将省市和区县信息保存在字典中
def read_file(filename):
with open(filename, 'r', encoding='utf-8') as f:
lines = f.readlines()
province_city = lines[0].strip().split(' ')
city_county = {}
for line in lines[1:]:
city, counties = line.strip().split(':')
counties = counties.split('、')
city_county[city] = counties
return province_city, city_county
# 查询城市所辖区县
def query_counties(city, city_county):
if city not in city_county.keys():
print("请输入正确的地名!")
else:
counties = city_county[city]
print("该城市下辖的区县有:")
for county in counties:
print(county)
# 查询区县所属城市
def query_city(county, city_county):
for city, counties in city_county.items():
if county in counties:
print("该区县所属的城市是:", city)
return
print("请输入正确的地名!")
# 主函数,循环查询
def main():
filename = 'hebei.txt'
province_city, city_county = read_file(filename)
print("欢迎使用河北省地区查询系统!")
print("省份:{},市级:{}".format(province_city[0], province_city[1]))
while True:
name = input("请输入要查询的地名(按回车键退出):")
if name == "":
print("谢谢使用查询系统!")
break
elif name == province_city[0] or name == province_city[1]:
print("请输入正确的地名!")
elif name in city_county.keys():
query_counties(name, city_county)
else:
query_city(name, city_county)
if __name__ == '__main__':
main()
```
将文件名 `hebei.txt` 放在同一目录下,运行程序后即可进行查询。
阅读全文