Poppy185 2023-05-23 20:33 采纳率: 33.3%
浏览 8
已结题

运用Python知识

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

  • 写回答

1条回答 默认 最新

  • 码上团建 2023-05-23 20:40
    关注

    没看到你说明文件格式,我这里是.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")
    
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月23日
  • 创建了问题 5月23日

悬赏问题

  • ¥15 求ax+by=n的正整数解
  • ¥50 使用MS Log Parser查询使用Bitvise SSH Server登录的IP
  • ¥20 校园二手交易小程序搭建
  • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
  • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
  • ¥20 python,计算区位熵和扩张指数
  • ¥15 Python环境配置
  • ¥15 大四学生的困惑,有偿提问!
  • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
  • ¥15 arduino测量电阻