python實現:寫一個班級的類, 存儲班里人數,統計班級里各學科的總分的最高分、各學科的平均分; 寫班級里的學生類,存儲學生所有成績, 計算某個學生的全部課程的平均分、全部課程的總分、全部課程的最高分


思路:

1.定義班級類:
構造函數:班級名稱、班級學生列表
設定班級名稱,獲取班級名稱
添加班級學生
獲取總分的最高分
獲取語文平均分
獲取數學平均分

 
         

2.定義學生類:
構造函數:學生姓名、學生班級名稱、語文成績、數學成績、總分
設定語文成績,獲取語文成績
設定數學成績,獲取數學成績
獲取學生總分
獲取學生平均分
獲取學生最高分

 
         

3.實例化
輸入學生1,設定語文成績,數學成績,打印平均分、總分、最高分
輸入學生2,設定語文成績,數學成績,打印平均分、總分、最高分
設定班級,打印班級最高分、語文平均分、數學平均分



#
班級類 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__classNo_max_total_score(self): student_total_score=[] for i in self.students: student_total_score.append(i.get_student_total_score()) ########## #print (student_total_score) max_student_total_score=max(student_total_score) return max_student_total_score def get_classNo_chinese_avg_score(self): student_chinese_score=[] for i in self.students: student_chinese_score.append(i.get_chinese_score()) return sum(student_chinese_score)/len(self.students) def get_classNo_math_avg_score(self): student_math_score=[] for i in self.students: student_math_score.append(i.get_math_score()) return sum(student_math_score)/len(self.students) #學生類 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.__total_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 get_student_total_score(self): self.__total_score=self.__chinese_score+self.__math_score return self.__total_score def get_student_avg_score(self): return sum([self.__chinese_score,self.__math_score])/2 def get_student_max_score(self): return max(self.__chinese_score,self.__math_score) if __name__ == "__main__": s = Student("zita","三年二班") s.set_chinese_score(100) s.set_math_score(80) print ("%s的平均分是:%s"%(s.name,s.get_student_avg_score()),",","%s的總分是:%s"%(s.name,s.get_student_total_score()),",","%s的最高分是:%s"%(s.name,s.get_student_max_score())) t = Student("tim","三年二班") t.set_chinese_score(88) t.set_math_score(62) print ("%s的平均分是:%s"%(t.name,t.get_student_avg_score()),",","%s的總分是:%s"%(t.name,t.get_student_total_score()),",","%s的最高分是:%s"%(t.name,t.get_student_max_score())) c=Class_NO("三年二班") c.add_student(s) c.add_student(t) print ("%s總分最高分是:%s"%(c.get_grade_class_name(),c.get__classNo_max_total_score())) print ("%s語文學科平均分是:%s"%(c.get_grade_class_name(),c.get_classNo_chinese_avg_score())) print ("%s數學學科平均分是:%s"%(c.get_grade_class_name(),c.get_classNo_math_avg_score()))

 運行結果:

E:\workspace-python\test>py -3 c.py
zita的平均分是:90.0 , zita的總分是:180 , zita的最高分是:100
tim的平均分是:75.0 , tim的總分是:150 , tim的最高分是:88
三年二班總分最高分是:180
三年二班語文學科平均分是:94.0
三年二班數學學科平均分是:71.0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 計算學生成績的最高分、最低分和平均分(數組全是方法) 有10個學生,每個學生的數據包括學號、姓名、3門課程的成績,從鍵盤輸人10個學生數據,要求輸出3門課程總平均成績,以及最高分的學生的數據(包括學號、姓名、3門課程成績、平均分數) 編寫一個ComputerAverage抽象類,類中有一個抽象方法求平均分average,可以有參數。定義 Gymnastics 類和 School 類,它們都是 ComputerAverage 的子類。Gymnastics 類中計算選手的平均成績的方法是去掉一個最低分,去掉一個最高分,然后求平均分;School 中計算平均分的方法是所有科目的分數之和除以總科目數。 要求:定義ComputerAv 從n個學生的成績中統計出低於平均分的學生人數,返回此人數,平均分存放在形參aver所指存儲單元中 SQL使用子查詢,查找班級成績最高分 數組實現 最高分、最低分、平均分 練習10 -- 查詢各科成績最高分、最低分和平均分:以如下形式顯示:課程ID,課程name,最高分,最低分,平均分,及格率,中等率,優良率,優秀率 --及格為>=60,中等為:70-80,優良為:80-90,優秀為:>=90 Java輸入三個班每班三個人,輸入成績,分別計算每個班級的總分和平均分 使用結構體變量存儲學生姓名和課程成績,計算平均分及查找不及格同學姓名及分數 從鍵盤讀入學生成績,找出最高分, 並輸出學生成績等級(Java)
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM