STEP #1

(1/2)

此处切换ai服务商,可对比多家ai的回复,取最优解。

上一步下一步关闭
酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

文本文件“hebei. txt”中包含河北省的地区信息文 件第一行为省名和地级市名,其他每行的第一个地名为 地级市名,后面地名为该地区的下辖区、县和县级市的 名称 将该文件的内容读到列表中,运行代码,查看输出 的列表内容并完成如下要求的操作: (1)如果用户输入的是地级市名,以列表形式输出其 下辖所有下辖区、县和县级市名称。 (2)如果用户输入的是市辖区、县或县级市名,则输 出其上一级的地级市名,若有的市辖区名在不同地级市 中同时存在时,分行输出全部地级市名。 通过题目设计一个python程序 文件内容如下:河北,石家庄,唐山,秦皇岛,邯郸,邢台,保定,张家口,承德,沧州,廊坊,衡水 石家庄,长安区,桥东区,桥西区,新华区,井阱矿区,区裕华,井阱县,正定县,栾城县,行唐县,灵寿县,高邑县,深泽县,赞皇县,无极县,平山县,元氏县,赵县,辛集市,晋州市,新乐市,藁城市,鹿泉市 唐山,路南区,路北区,古治区,开平区,丰南区,丰润区,曹妃甸区,滦县,滦南县,乐亭县,迁西县,玉田县,遵化县,迁安县 秦皇岛,海港区,三海关区,北戴河区,青龙满族自治县,昌黎县,抚宁县,卢龙县 邯郸,邯山区,丛台

以下是实现题目要求的Python代码: ```python def load_file(filename): with open(filename, 'r') as file: content = file.read() data = content.split(',') return data def get_subareas(data, city_name): subareas = [] for i in range(1, len(data)): if data[i] == city_name: j = i + 1 while j < len(data) and ',' not in data[j]: subareas.append(data[j]) j += 1 return subareas return None def get_parent_city(data, subarea_name): parent_cities = [] for i in range(1, len(data)): if ',' in data[i]: subareas = data[i].split(',') if subarea_name in subareas: parent_cities.append(data[i-1]) return parent_cities data = load_file("hebei.txt") print(data) user_input = input("请输入地级市名或市辖区、县或县级市名:") if user_input in data: subareas = get_subareas(data, user_input) if subareas: print(subareas) else: parent_cities = get_parent_city(data, user_input) if parent_cities: for city in parent_cities: print(city) else: print("找不到对应的市级或地级市名") else: print("找不到对应的地名") ``` 代码分为三个部分: 1. `load_file`函数用于读取文件内容并将其拆分为列表,每个元素为一个地名。 2. `get_subareas`函数根据用户输入的地级市名返回其下辖区、县和县级市的名称。 3. `get_parent_city`函数根据用户输入的市辖区、县或县级市名返回其上一级的地级市名,如果有多个地级市都有对应的市辖区名,则输出全部地级市名。 根据用户的输入分别调用相关函数并输出结果。 [2024-06-04 16:07:05 | AI写代码神器 | 1093点数解答]

相关提问