#学生成绩管理系统
# 1.根据姓名查看学生所有成绩
# 2.查看所有人的某学科成绩
# 3.查看总平均分
# 4.查看某人的某学科成绩
# 5.根据姓名删除学生信息
class MagStuScore():
def __init__(self, name, age, chinese, math, english):
self.name = name
self.age = age
self.chinese = chinese
self.math = math
self.english = english
def introduce(self):
print('姓名: %s | 年龄: %s | 语文成绩: %s | 数学成绩: %s | 英语成绩: %s'
% (self.name, self.age, self.chinese, self.math, self.english))
def avg_score(self):
print('%s的平均成绩是%s分'
% (self.name, int((self.chinese + self.math + self.english) // 3)))
class Manage():
def __init__(self, *args):
self.students = list(args)
def name_score(self, name):
for stu in self.students:
if stu.name == name:
print('%s的语文: %s, 数学: %s, 英语: %s'
% (stu.name, stu.chinese, stu.math, stu.english))
def subj_score(self, subject):
print('所有人的%s成绩' % subject)
for stu in self.students:
print(stu.name, stu.__dict__[subject])
def sum_avg(self):
sum_chinese = 0
sum_math = 0
sum_english = 0
count = 0
for stu in self.students:
sum_chinese += stu.chinese
sum_math += stu.math
sum_english += stu.english
count += 1
print('语文的平均成绩: %s' % (sum_chinese // count),
'数学的平均成绩: %s' % (sum_math // count),
'英语的平均成绩: %s' % (sum_english // count))
def name_subj_score(self, name, subject):
for stu in self.students:
if stu.name == name:
print(stu.__dict__[subject])
def del_stu(self, name):
for stu in self.students:
if stu.name == name:
self.students.remove(stu)
stu1 = MagStuScore('小明', 12, 89, 90, 88)
stu2 = MagStuScore('小胡', 13, 99, 100, 80)
stu3 = MagStuScore('小华', 14, 90, 90, 90)
stu1.introduce()
manage = Manage(stu1, stu2, stu3)
manage.name_score('小华')
manage.subj_score('chinese')
manage.sum_avg()
manage.name_subj_score('小明', 'english')
manage.del_stu('小胡')
print([i.name for i in manage.students])
网友评论