mmmjun253 2021-11-16 19:31 采纳率: 100%
浏览 19
已结题

怎样把这一串代码改成class形式

怎样把这一串代码改成class形式

ef student_score(name, chinese, math, english, science):
    return {"name": name, "chinese": chinese, "math": math, "english": english, "science": science}

def score_sum(student):
    return student["chinese"] + student["math"] + student["english"] + student["science"]

def score_avg(student):
    return score_sum(student)/4

def score_print(student):
    return print(student["name"], score_sum(student), score_avg(student), sep="\t")


# 女学生名单.
students_women = [
   student_score("PING", 64, 88, 92, 92 )
    student_score("BASMA", 64, 88, 92, 92 ),
    student_score("MEIJUN", 64, 88, 92, 92 ),
    student_score("WENQI", 64, 88, 92, 92 ),
    student_score("ZHILING", 64, 88, 92, 92 ),
    student_score("JINHUA", 64, 88, 92, 92 ),
    student_score("DO", 64, 88, 92, 92 )
]

# 男学生名单.
students_men = [
    student_score("HAIMING", 64, 88, 92, 92 ),
    student_score("ZHENG", 64, 88, 92, 92 ),
    student_score("KONG", 64, 88, 92, 92 )
]

# 重复女学生名单.
print("女学生分数")
print("名字", "总分", "平均分", sep="\t")

for student in students_women:
    score_print(student)
    
# 重复男学生名单.
print("\n男学生分手")
print("名字", "总分", "平均分", sep="\t")

for student in students_men:
    score_print(student)   
    

  • 写回答

1条回答 默认 最新

  • Mnioc 2021-11-16 21:04
    关注
    
    class Student():
        
        def __init__(self, name, chinese, math, english, science):
            self.name = name
            self.chinese = chinese
            self.math = math
            self.english = english
            self.science = science
        
        def score_sum(self):
            return self.chinese + self.math + self.english + self.science
     
        def score_avg(self):
            return self.score_sum() / 4
     
        def score_print(self, ):
            return print(self.name, self.score_sum(), self.score_avg(), sep="\t")
    
    
    # 女学生名单.
    students_women = [
        Student("PING", 64, 88, 92, 92 ),
        Student("BASMA", 64, 88, 92, 92 ),
        Student("MEIJUN", 64, 88, 92, 92 ),
        Student("WENQI", 64, 88, 92, 92 ),
        Student("ZHILING", 64, 88, 92, 92 ),
        Student("JINHUA", 64, 88, 92, 92 ),
        Student("DO", 64, 88, 92, 92 )
    ]
     
    # 男学生名单.
    students_men = [
        Student("HAIMING", 64, 88, 92, 92 ),
        Student("ZHENG", 64, 88, 92, 92 ),
        Student("KONG", 64, 88, 92, 92 )
    ]
     
    # 重复女学生名单.
    print("女学生分数")
    print("名字", "总分", "平均分", sep="\t")
     
    for student in students_women:
        student.score_print()
        
    # 重复男学生名单.
    print("\n男学生分数")
    print("名字", "总分", "平均分", sep="\t")
     
    for student in students_men:
        student.score_print()   
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 11月16日

悬赏问题

  • ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
  • ¥20 白日门传奇少一个启动区服和启动服务器的快捷键,东西都是全的 , 他们说套一个出来就行了 但我就是弄不好,谁看看,
  • ¥100 如何用js写一个游戏云存档
  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题