酷代码 AI
菜单
服务商

为了解我国的就业情况,根据中华人民共和国国家统计局第七次人口普查结果,就业行业和人数文件“employ-data.txt”,请用排序算法对数据进行降序排序,在屏幕上显示排序后的数据结果(包括省市名称及人数),同时将排序结果写入“employ-sort.txt”文件中;然后输入要查询的“省市名称”,如果查询成功,则显示查询到的“就业人数”,否则显示“查询不成功”,直到查询者想退出程序结束。

以下是使用 Python 实现上述功能的代码: ```python # 读取就业数据文件 def read_data(file_path): data = [] try: with open(file_path, 'r', encoding='utf-8') as file: # 逐行读取文件内容 for line in file: # 按逗号分割每行内容 parts = line.strip().split(',') if len(parts) == 2: province = parts[0] # 将人数转换为整数 num = int(parts[1]) data.append((province, num)) except FileNotFoundError: print(f"文件 {file_path} 未找到。") return data # 降序排序数据 def sort_data(data): # 使用 Python 内置的 sorted 函数进行排序,按照人数降序排列 return sorted(data, key=lambda x: x[1], reverse=True) # 显示排序后的数据并写入文件 def display_and_write(data, output_file): print("排序后的数据:") with open(output_file, 'w', encoding='utf-8') as file: for province, num in data: # 打印省市名称和人数 print(f"{province}: {num}") # 将省市名称和人数写入文件 file.write(f"{province},{num}\n") # 查询省市的就业人数 def query_data(data): while True: province = input("请输入要查询的省市名称(输入 '退出' 结束查询):") if province == '退出': break found = False for p, num in data: if p == province: print(f"{province} 的就业人数为:{num}") found = True break if not found: print("查询不成功") # 主函数 def main(): input_file = "employ-data.txt" output_file = "employ-sort.txt" # 读取数据 data = read_data(input_file) if data: # 排序数据 sorted_data = sort_data(data) # 显示并写入排序后的数据 display_and_write(sorted_data, output_file) # 进行查询操作 query_data(sorted_data) if __name__ == "__main__": main() ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 确保“employ-data.txt”文件存在,并且文件内容格式正确,每行应为“省市名称,就业人数”的形式。 2. 在读取文件时,要注意文件的编码格式,避免出现乱码问题。 3. 在查询操作中,要处理好用户输入“退出”的情况,确保程序能正常结束。 [2025-12-01 00:11:55 | AI写代码神器 | 642点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多