输入学生的学科名字,成绩,并对数据保存在文本文件score.txt中,最后,再读取score.txt文件,求该位学生成绩的平均分、最高分、最低分
时间: 2023-06-14 13:03:47 浏览: 89
以下是Python代码实现:
```python
# 写入数据到文件
with open('score.txt', 'w') as f:
while True:
subject = input("请输入学科名字:")
if subject == 'exit': # 输入exit结束输入
break
score = input("请输入成绩:")
f.write(subject + ',' + score + '\n')
# 读取数据并计算平均分、最高分、最低分
with open('score.txt', 'r') as f:
scores = []
for line in f:
subject, score = line.strip().split(',')
scores.append(int(score))
avg_score = sum(scores) / len(scores)
max_score = max(scores)
min_score = min(scores)
print("平均分:", avg_score)
print("最高分:", max_score)
print("最低分:", min_score)
```
运行结果如下:
```
请输入学科名字:Math
请输入成绩:85
请输入学科名字:English
请输入成绩:90
请输入学科名字:Chinese
请输入成绩:78
请输入学科名字:exit
平均分: 84.33333333333333
最高分: 90
最低分: 78
```
其中,我们使用了Python内置函数`open()`打开文件,使用`with`关键字可以自动关闭文件,`w`表示写入模式,`r`表示读取模式。`strip()`函数可以去除字符串两端的空白字符,`split()`函数可以按照指定的分隔符将字符串分割成多个子字符串。最后,使用`sum()`、`max()`、`min()`函数分别计算总分、最高分和最低分。