请完成以下功能的代码 (1)假设每个同学有三门成绩 请随机生成 100 个同学成绩【学号为 9122001--9122100】【成绩为浮点型保留一位小 数,后面相同要求】(成绩要求在 10-100 之间) (2) 将 100 个同学的学号和成绩以文本的形式保存在 文本文件 a.txt 中,每个同学 学号 和 三门成绩一行,成绩之间用逗号分隔。 例如 9122201,88,77,99 9122202,89,74,79 (3) 再次从 a.txt 文件中 读出成绩保存在数组中,打印输
时间: 2024-02-06 08:02:35 浏览: 58
C++面向对象程序设计教程课程设计-学生信息/成绩管理系统-代码部分
以下是 Python 的代码实现:
```python
import random
# 生成学号
def generate_id():
return str(random.randint(9122001, 9122100))
# 生成成绩
def generate_score():
return round(random.uniform(10, 100), 1)
# 生成所有学生的信息
students = []
for i in range(100):
id = generate_id()
scores = [generate_score() for j in range(3)]
student = (id, scores)
students.append(student)
# 将学生信息写入文件
with open('a.txt', 'w') as f:
for student in students:
line = student[0] + ',' + ','.join(str(score) for score in student[1]) + '\n'
f.write(line)
# 从文件中读取学生信息
with open('a.txt', 'r') as f:
lines = f.readlines()
scores = []
for line in lines:
parts = line.strip().split(',')
id = parts[0]
scores.append((id, [float(score) for score in parts[1:]]))
# 打印成绩
for score in scores:
print(score)
```
以上代码随机生成了 100 个学生的成绩并保存在文件中,然后再从文件中读取成绩并打印输出。
阅读全文