。我们需要从键盘上输入每个学生的学号、姓名和3门功课的成绩,并计算出每个学生的平均成绩。最后,我们需要将每个学生的信息和平均分保存在磁盘文件record中。给我一个代码
时间: 2024-01-21 16:16:51 浏览: 36
好的,以下是一个简单的 Python 代码示例,可以实现您所描述的功能:
```python
# 定义一个学生类
class Student:
def __init__(self, num, name, score1, score2, score3):
self.num = num
self.name = name
self.score1 = score1
self.score2 = score2
self.score3 = score3
def avg_score(self):
return (self.score1 + self.score2 + self.score3) / 3
# 定义一个保存记录的函数
def save_record(students):
with open('record.txt', 'w') as f:
for s in students:
f.write('学号:{} 姓名:{} 成绩1:{} 成绩2:{} 成绩3:{} 平均分:{}\n'.format(
s.num, s.name, s.score1, s.score2, s.score3, s.avg_score()))
# 主程序
if __name__ == '__main__':
students = []
# 循环输入学生信息
while True:
num = input('请输入学号(输入q退出):')
if num == 'q':
break
name = input('请输入姓名:')
score1 = int(input('请输入成绩1:'))
score2 = int(input('请输入成绩2:'))
score3 = int(input('请输入成绩3:'))
# 创建学生对象,添加到列表中
s = Student(num, name, score1, score2, score3)
students.append(s)
# 保存记录
save_record(students)
print('记录已保存到record.txt文件中。')
```
这个程序中,我们定义了一个 `Student` 类来表示一个学生的数据,包括学号、姓名和3门功课的成绩。类中还包含一个计算平均分的方法。
程序的主体部分是一个循环,每次循环都会提示用户输入一个学生的信息,然后创建一个 `Student` 对象并添加到列表中。当用户输入 `q` 时,循环结束。
最后,我们调用一个 `save_record` 函数来将每个学生的信息和平均分保存到磁盘文件中。这个函数使用了 Python 的文件操作,将每个学生的信息格式化成一个字符串并写入文件中。
注意,这个程序只是一个简单的示例,没有进行任何输入验证和异常处理。在实际的应用中,您可能需要添加更多的代码来确保程序的稳定性和正确性。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)