随机生成20个学生的成绩数据,包括学号(1~20)和成绩(范围为50~100)将学号和成绩通过冒号分割,写入文件score.txt 中,并将成绩数据以散点图形式以不同颜色不同大小呈现。
时间: 2024-03-08 10:46:51 浏览: 164
data/score.txt 学生分数表
好的,我可以为您完成这个任务。以下是代码实现:
```python
import random
import matplotlib.pyplot as plt
# 随机生成学生的成绩数据
scores = [(i, random.randint(50, 100)) for i in range(1, 21)]
# 将学号和成绩写入文件score.txt中
with open('score.txt', 'w') as f:
for s in scores:
f.write(str(s[0]) + ':' + str(s[1]) + '\n')
# 生成散点图
x = [s[0] for s in scores]
y = [s[1] for s in scores]
colors = ['red', 'blue', 'green', 'yellow', 'purple', 'orange', 'brown', 'pink', 'gray', 'black'] # 颜色列表
sizes = [10 * s[1] for s in scores] # 按成绩大小设置点的大小
plt.scatter(x, y, c=colors, s=sizes)
plt.xlabel('Student ID')
plt.ylabel('Score')
plt.show()
```
运行上述代码,会生成score.txt文件,并且在运行的同时显示成绩的散点图。其中,不同的学生用不同的颜色表示,成绩越高的点越大。希望能够帮到您!
阅读全文