酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

文件in.txt中存放多位学生姓名及3次平日测试分数(以回车键结束),根据权重计算最终成绩(保留2位小数),如输入数据错误,给出提示。 (1)按照每门课权重分别为0.3,0.3,0.4计算每名考生的最终成绩,保留2位小数点; (2) 按最终成绩由高到低排序,并将姓名、成绩输出到文件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`中。 [2024-06-03 21:41:43 | AI写代码神器 | 453点数解答]

相关提问