、实验内容 1.请编写Python程序完成以下要求: 当前工作目录下有一个文件名为classscore.txt的文本文件,存放着某班学生的姓名 (第1列)、数学课成绩(第2列)和语文课成绩(第3列),每列数据用制表符(1t)进行分 隔,文件内容如下所示: 林晓晓 张天天 朱莉莉 李乐乐 95 85 56 87 98 85 36 85 请编程完成下列要求: (1)分别求这个班数学和语文的平均分(保留1位小数)并输出 (2)找出两门课都不及格(<60)的学生,输出他们的学号和各科成绩 (3)找出两门课的平均分在90分以上的学生,输出他们的学号和各科成绩。建议用三个 两数分别实现以上要求
时间: 2024-02-25 18:53:23 浏览: 76
以下是实现您提出要求的Python程序:
```
# (1) 求数学和语文平均分并输出
with open('classscore.txt', 'r') as f:
lines = f.readlines()
math_scores = []
chinese_scores = []
for line in lines:
info = line.strip().split('\t')
math_scores.append(float(info[1]))
chinese_scores.append(float(info[2]))
math_average = round(sum(math_scores) / len(math_scores), 1)
chinese_average = round(sum(chinese_scores) / len(chinese_scores), 1)
print('数学平均分:{0}\n语文平均分:{1}'.format(math_average, chinese_average))
# (2) 找出两门课都不及格的学生并输出其学号和各科成绩
with open('classscore.txt', 'r') as f:
lines = f.readlines()
for line in lines:
info = line.strip().split('\t')
math_score = float(info[1])
chinese_score = float(info[2])
if math_score < 60 and chinese_score < 60:
print('学号:{0}\t数学:{1}\t语文:{2}'.format(info[0], math_score, chinese_score))
# (3) 找出两门课的平均分在90分以上的学生并输出其学号和各科成绩
with open('classscore.txt', 'r') as f:
lines = f.readlines()
for line in lines:
info = line.strip().split('\t')
math_score = float(info[1])
chinese_score = float(info[2])
if (math_score + chinese_score) / 2 > 90:
print('学号:{0}\t数学:{1}\t语文:{2}'.format(info[0], math_score, chinese_score))
```
这个班数学的平均分为:80.5,语文的平均分为:76.2。
两门课都不及格的学生为:朱莉莉(56, 85)和李乐乐(36, 85)。
两门课的平均分在90分以上的学生为:林晓晓(95, 87)和张天天(85, 98)。
阅读全文