将三名学生的学号、姓名、班级信息、3门课程成绩、平均成绩,输出到一个f1文件中。将这3个学生按照平均成绩从高到低排序后,输出到f2文件中。
时间: 2024-05-10 16:19:16 浏览: 95
这里提供一个 Python 代码示例:
```python
# 定义三个学生的信息,每个学生包含学号、姓名、班级、3门课程成绩
students = [
{"id": "001", "name": "张三", "class": "一班", "scores": [80, 90, 85]},
{"id": "002", "name": "李四", "class": "一班", "scores": [75, 85, 95]},
{"id": "003", "name": "王五", "class": "二班", "scores": [90, 85, 88]},
]
# 计算每个学生的平均成绩,并输出到 f1 文件中
with open("f1.txt", "w") as f:
for student in students:
avg_score = sum(student["scores"]) / len(student["scores"])
f.write(f"{student['id']}\t{student['name']}\t{student['class']}\t{student['scores'][0]}\t{student['scores'][1]}\t{student['scores'][2]}\t{avg_score:.2f}\n")
# 按照平均成绩从高到低排序,并输出到 f2 文件中
sorted_students = sorted(students, key=lambda x: sum(x["scores"]) / len(x["scores"]), reverse=True)
with open("f2.txt", "w") as f:
for student in sorted_students:
avg_score = sum(student["scores"]) / len(student["scores"])
f.write(f"{student['id']}\t{student['name']}\t{student['class']}\t{student['scores'][0]}\t{student['scores'][1]}\t{student['scores'][2]}\t{avg_score:.2f}\n")
```
在上面的代码中,我们先定义了三个学生的信息,然后使用 `with open()` 打开文件,写入每个学生的信息,每个字段使用 `\t` 分隔,每个学生之间使用换行符 `\n` 分隔。然后使用 `sorted()` 函数按照平均成绩排序,再将排好序的学生信息写入到另一个文件中。在写入文件时,我们使用了 Python 的格式化输出功能,使用 `f"{...}"` 的形式可以方便地将变量插入到字符串中。最后,使用 `:.2f` 格式化字符串,保留小数点后两位。
阅读全文