有一学科各科成绩数据(数据格式:姓名,语文,数学),读取上述文件数据,并计算语文数学的平均分,筛选出语文成绩大于35分的学生姓名
没看到你说明文件格式,我这里是.txt 文件格式:代码如下:
# 定义一个学生类
class Student:
def __init__(self, name, chinese, math):
self.name = name
self.chinese = chinese
self.math = math
def get_average(self):
# 计算平均分
return (self.chinese + self.math) / 2
# 读取文件数据
with open("score.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
# 存储学生数据
students = []
for line in lines:
name, chinese, math = line.strip().split(",")
student = Student(name, int(chinese), int(math))
students.append(student)
# 计算语文数学平均分
chinese_total = 0
math_total = 0
for student in students:
chinese_total += student.chinese
math_total += student.math
chinese_average = chinese_total / len(students)
math_average = math_total / len(students)
print("语文平均分:", chinese_average)
print("数学平均分:", math_average)
# 筛选语文成绩大于35分的学生姓名
names = []
for student in students:
if student.chinese > 35:
names.append(student.name)
# 输出到文件
with open("result.txt", "w", encoding="utf-8") as f:
for name in names:
f.write(name + "\n")