定义一个名为Student的类,init方法通过学号,姓名,课程成绩(字典数据类型,三门以上)描述学生,实例方法score求课程的平均成绩并输出学生的个人信息与平均成绩。实例2个学生对象,并输出相关信息。
测试数据:A12345691,Liming,{Math:85,Chinese:80,English:99}; A12345692 Wangfang,{Math:75,Chinese:90,English:88,CPrograme:89};
class Student:
def __init__(self, student_id, name, grades) -> None:
self.student_id = student_id
self.name = name
self.grades = grades
def score(self):
avg = sum(self.grades.values()) / len(self.grades)
print('学号:', self.student_id)
print('名字:', self.name)
print('平均成绩:', avg)
if __name__ == '__main__':
s1 = Student('A12345691', 'Liming', {'Math': 85, 'Chinese': 80, 'English': 99})
s2 = Student('A12345692', 'Wangfang', {'Math': 75, 'Chinese': 90, 'English': 88, 'CProgramme': 89})
s1.score()
print()
s2.score()
class Student:
def __init__(self, id, name, scores):
self.id = id
self.name = name
self.scores = scores
def score(self):
avg_score = sum(self.scores.values()) / len(self.scores)
print(f"学生信息:\n学号:{self.id}\n姓名:{self.name}\n课程平均成绩:{avg_score:.2f}\n")
student1 = Student("A12345691", "Liming", {"Math":85, "Chinese":80, "English":99})
student2 = Student("A12345692", "Wangfang", {"Math":75, "Chinese":90, "English":88, "CPrograme":89})
student1.score()
student2.score()
刚好符号你的需求,你试试看呢?