python求班级平均分_写一个班级的类,存储班里人数,统计班级里所有学科的最高分和平均分,写班级里的学生类,存储学生所有成绩,可以计算平均分和每个课程最高分...

本文介绍了一个使用Python编写的班级成绩管理系统,包括Student类和Class_NO类。Student类用于存储学生姓名、班级和各科成绩,并能计算单科最高分和总分。Class_NO类管理班级学生,可以计算全班学生的总分最高分及平均分。通过实例展示了如何添加学生及获取班级统计数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# -*- coding:UTF-8 -*-

class Student(object):

def __init__(self,name,grade_class_no):

self.name = name

self.grade_class_no = grade_class_no

self.__chinese_score = None

self.__math_score = None

self.__english_score = None

def set_chinese_score(self,score):

if score >=0 and score<=100 and isinstance(score,(int,float)):

self.__chinese_score = score

else:

print("你输入的分数不是数字类型,或者不在0-100分数的范围内!")

def get_chinese_score(self):

return self.__chinese_score

def set_math_score(self,score):

if score >=0 and score<=100 and isinstance(score,(int,float)):

self.__math_score = score

else:

print("你输入的分数不是数字类型,或者不在0-100分数的范围内!")

def get_math_score(self):

return self.__math_score

def set_english_score(self,score):

if score >=0 and score<=100 and isinstance(score,(int,float)):

self.__english_score = score

else:

print("你输入的分数不是数字类型,或者不在0-100分数的范围内!")

def get_english_score(self):

return self.__english_score

def get_max_score(self):

return max(self.__chinese_score,self.__math_score,self.__english_score)

def get_avg_score(self):

return sum([self.__chinese_score,self.__math_score,self.__english_score])/3

def get_total_score(self):

return sum([self.__chinese_score,self.__math_score,self.__english_score])

class Class_NO(object):

"""管理班级数据的类"""

def __init__(self,name):

self.grade_class_name = name

self.students = []

def set_grade_class_name(self,name):

self.grade_class_name = name

def get_grade_class_name(self):

return self.grade_class_name

def add_student(self,student):

self.students.append(student)

def get_max_total_score(self):

student_total_score=[]

for i in self.students:

student_total_score.append(i.get_total_score())

return max(student_total_score)

def get_avg_score(self):

student_total_score=[]

for i in self.students:

student_total_score.append(i.get_total_score())

return sum(student_total_score)/len(self.students)

if __name__ == "__main__":

s = Student("张三","三年级二班")

s.set_chinese_score(100)

s.set_math_score(80)

s.set_english_score(60)

t = Student("李四","三年级二班")

t.set_chinese_score(100)

t.set_math_score(50)

t.set_english_score(10)

c= Class_NO("三年级二班")

c.add_student(s)

c.add_student(t)

print(c.get_max_total_score())

print(c.get_avg_score())

结果:

D:\>python c.py

240

200.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值