有5个学生,每个学生有3门功课的成绩,从键盘输入学生的数据(包括学号、姓名、3门课程的成绩),计算出平均成绩。将原有数据和计算出的平均分数存放到磁盘文件“stud.dat”中。
时间: 2023-12-15 15:08:05 浏览: 74
下面是使用Python实现的代码:
```python
# 定义一个函数,用于计算平均成绩
def calculate_average(score_list):
return sum(score_list) / len(score_list)
# 输入5个学生的数据
students = []
for i in range(5):
student = {}
student['id'] = input('请输入第{}个学生的学号:'.format(i+1))
student['name'] = input('请输入第{}个学生的姓名:'.format(i+1))
student['scores'] = []
for j in range(3):
score = float(input('请输入{}的第{}门课程的成绩:'.format(student['name'], j+1)))
student['scores'].append(score)
student['average'] = calculate_average(student['scores'])
students.append(student)
# 将数据存储到文件中
with open('stud.dat', 'w') as f:
for student in students:
f.write('{}\t{}\t{}\t{}\t{}\n'.format(student['id'], student['name'],
student['scores'][0], student['scores'][1], student['scores'][2],
student['average']))
```
以上代码中,我们首先定义了一个`calculate_average`函数,用于计算一个学生的平均成绩。然后使用一个列表`students`来存储5个学生的数据,每个学生的数据包括学号、姓名、3门课程的成绩和平均成绩。在输入每个学生的数据时,我们使用一个循环来处理3门课程的成绩,并调用`calculate_average`函数来计算平均成绩。最后,我们将数据存储到文件`stud.dat`中,每行数据包括学号、姓名、3门课程的成绩和平均成绩,使用`\t`作为分隔符。
阅读全文