Python 实现:从 in.txt 计算学生成绩并按序写入 out.txt
解析: 1. 首先,我们需要读取文件in.txt中的内容,然后将其转换为列表的形式。 2. 然后,我们需要根据每门课的权重计算每个学生的最终成绩。 3. 接下来,我们需要将计算出的最终成绩按照从高到低的顺序进行排序。 4. 我们需要将排序后的结果写入到文件out.txt中。 代码如下: ```python def calculate_score(data): scores = [] for item in data: try: name, test1, test2, test3 = item final_score = round(test1 * 0.3 + test2 * 0.3 + test3 * 0.4, 2) scores.append((name, final_score)) except ValueError: print("输入数据错误") return scores def sort_scores(scores): return sorted(scores, key=lambda x: x[1], reverse=True) def write_to_file(scores, filename): with open(filename, 'w') as f: for item in scores: f.write(f"{item[0]} {item[1]} ") def main(): with open('in.txt', 'r') as f: lines = f.readlines() data = [line.strip().split() for line in lines[1:]] scores = calculate_score(data) sorted_scores = sort_scores(scores) write_to_file(sorted_scores, 'out.txt') if __name__ == '__main__': main() ``` 这段代码首先定义了四个函数,分别用于计算成绩、排序成绩、将成绩写入文件和主函数。在主函数中,我们首先读取文件in.txt中的内容,然后将其转换为列表的形式。接着,我们调用calculate_score函数计算每个学生的最终成绩。然后,我们调用sort_scores函数将计算出的最终成绩按照从高到低的顺序进行排序。我们调用write_to_file函数将排序后的结果写入到文件out.txt中。 ######[AI写代码神器 | 493点数解答 | 2024-06-03 21:59:31]
- C 语言:快速实现 5 个学生信息录入、按成绩升序排序并输出!(字节豆包 | 373点数解答 | 2024-10-30 00:37:20)411
- C语言实现:输入5名学生信息并按成绩升序排序输出(字节豆包 | 354点数解答 | 2024-10-30 18:45:58)354
- C语言:输入5个学生信息,按成绩升序排序并输出(字节豆包 | 373点数解答 | 2024-10-31 19:49:58)349
- C语言:输入5名学生信息并按成绩升序排序输出(字节豆包 | 326点数解答 | 2025-01-01 20:11:47)342
- 测3:以读、二进制方式打开C盘temp文件夹下abc.txt文件的代码选哪个?(GPT | 15点数解答 | 2024-06-06 13:53:37)400
- 成绩等级统计:20个60 - 100分成绩的等级数量揭秘(字节豆包 | 219点数解答 | 2025-04-09 10:20:32)219
- 培训机构学员成绩与年龄更新:C++ 代码实现(DeepSeek | 186点数解答 | 2025-12-16 18:04:31)61
- Python 处理培训机构学员培训后年龄与 NOIP 成绩提升情况(DeepSeek | 73点数解答 | 2025-12-16 18:05:20)65
- 培训机构学员成绩提升:C++代码实现年龄与NOIP成绩更新(DeepSeek | 178点数解答 | 2025-12-31 12:20:24)61
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)463
- 数组距离问题:输出结果远大于预期,正确解法大揭秘!(阿里通义 | 1107点数解答 | 2026-01-08 12:17:38)36
- 代码输出错误值原因剖析与最小绝对差正确解法指导(阿里通义 | 1316点数解答 | 2026-01-08 12:18:39)49