Python 知识回答问题

有一学生各科成绩数据(数据样式:姓名,语文,数学)读取上述文件数据,并计算语文数学的平均分,筛选出语文成绩大于35的学生姓名

可以使用Python的文件操作和列表操作来读取学生各科成绩数据,并计算平均分和筛选满足条件的学生姓名。下面是一个示例代码:

def read_student_scores(filename):
    student_scores = []
    
    with open(filename, 'r') as file:
        for line in file:
            line = line.strip().split(',')
            name = line[0]
            chinese_score = int(line[1])
            math_score = int(line[2])
            
            student_scores.append({'name': name, 'chinese': chinese_score, 'math': math_score})
    
    return student_scores

def calculate_average(scores):
    total_chinese = 0
    total_math = 0
    count = len(scores)
    
    for score in scores:
        total_chinese += score['chinese']
        total_math += score['math']
    
    average_chinese = total_chinese / count
    average_math = total_math / count
    
    return average_chinese, average_math

def filter_students(scores, threshold):
    filtered_students = []
    
    for score in scores:
        if score['chinese'] > threshold:
            filtered_students.append(score['name'])
    
    return filtered_students

# 读取学生成绩数据
filename = 'student_scores.txt'
student_scores = read_student_scores(filename)

# 计算平均分
average_chinese, average_math = calculate_average(student_scores)
print("平均语文成绩:", average_chinese)
print("平均数学成绩:", average_math)

# 筛选满足条件的学生姓名
threshold = 35
filtered_students = filter_students(student_scores, threshold)
print("语文成绩大于35的学生姓名:", filtered_students)

请将上述代码保存为.py文件,并将学生成绩数据存储在student_scores.txt文件中,每行表示一个学生的姓名、语文成绩和数学成绩,用逗号分隔。运行代码后,将会输出平均语文成绩、平均数学成绩和语文成绩大于35的学生姓名。

注意:代码假设输入文件格式正确,每行包含正确的数据。如有需要,请根据实际情况对代码进行适当修改。