Python程序:从in.txt算学生最终成绩并排序写入out.txt
首先,我们需要编写一个程序来读取文件`in.txt`中的数据,然后根据给定的权重计算每名学生的最终成绩。接下来,我们将按最终成绩对数据进行排序,并将结果输出到文件`out.txt`中。 以下是一个简单的Python程序来实现这个任务: ```python def calculate_final_score(name, scores): try: scores = [float(score) for score in scores] if len(scores) != 3: raise ValueError("Invalid number of scores") final_score = 0.3 * scores[0] + 0.3 * scores[1] + 0.4 * scores[2] return name, round(final_score, 2) except ValueError as e: print(f"Error processing {name}: {e}") return None def main(): data = [] with open("in.txt", "r") as f: lines = f.readlines() for line in lines: name, scores = line.strip().split(":", 1) scores = scores.split(",") final_score = calculate_final_score(name, scores) if final_score is not None: data.append(final_score) data.sort(key=lambda x: x[1], reverse=True) with open("out.txt", "w") as f: for item in data: f.write(f"{item[0]} {item[1]} ") if __name__ == "__main__": main() ``` 这个程序首先定义了一个`calculate_final_score`函数,用于计算每名学生的最终成绩。然后,它从`in.txt`文件中读取数据,并使用该函数计算每名学生的最终成绩。它将按最终成绩对数据进行排序,并将结果输出到文件`out.txt`中。 ######[AI写代码神器 | 453点数解答 | 2024-06-03 21:41:43]
- C 语言:快速实现 5 个学生信息录入、按成绩升序排序并输出!(字节豆包 | 373点数解答 | 2024-10-30 00:37:20)424
- C语言实现:输入5名学生信息并按成绩升序排序输出(字节豆包 | 354点数解答 | 2024-10-30 18:45:58)369
- C语言:输入5个学生信息,按成绩升序排序并输出(字节豆包 | 373点数解答 | 2024-10-31 19:49:58)365
- C语言:输入5名学生信息并按成绩升序排序输出(字节豆包 | 326点数解答 | 2025-01-01 20:11:47)360
- 测3:以读、二进制方式打开C盘temp文件夹下abc.txt文件的代码选哪个?(GPT | 15点数解答 | 2024-06-06 13:53:37)413
- 成绩等级统计:20个60 - 100分成绩的等级数量揭秘(字节豆包 | 219点数解答 | 2025-04-09 10:20:32)235
- 培训机构学员成绩与年龄更新:C++ 代码实现(DeepSeek | 186点数解答 | 2025-12-16 18:04:31)79
- Python 处理培训机构学员培训后年龄与 NOIP 成绩提升情况(DeepSeek | 73点数解答 | 2025-12-16 18:05:20)82
- 培训机构学员成绩提升:C++代码实现年龄与NOIP成绩更新(DeepSeek | 178点数解答 | 2025-12-31 12:20:24)75
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)487
- 数组距离问题:输出结果远大于预期,正确解法大揭秘!(阿里通义 | 1107点数解答 | 2026-01-08 12:17:38)48
- 代码输出错误值原因剖析与最小绝对差正确解法指导(阿里通义 | 1316点数解答 | 2026-01-08 12:18:39)58