–1-- 分析:
- 两个类:(1) 学生类:Student (2)班级类:Grade
- 属性:(1)学生类:学号 ,姓名,年龄,性别,成绩 (2)班级类:班级名称,班级中的学生【列表存储学生】
–2-- 问题:
- 查看该班级中的全部学生信息
- 查看指定学号的学生信息
- 查看班级中成绩不及格的学生信息
- 将班级中的学生按照成绩降序排序
–3-- 实现功能:
1.查看该班级中的全部学生信息
g = Grade('二班',[s1,s2,s3,s4,s5])
g.show_all()
运行结果:
学号:1,姓名:zhangsan,年龄:18,性别:female,分数:90 学号:2,姓名:kisi,年龄:21,性别:male,分数:77 学号:3,姓名:tom,年龄:16,性别:male,分数:91 学号:4,姓名:anan,年龄:12,性别:female,分数:56 学号:5,姓名:wangwu,年龄:19,性别:female,分数:80
2. 查看指定学号的学生信息
print(g.get_student_by_number(1))
print(g.get_student_by_number(2))
运行结果:
学号:1,姓名:zhangsan,年龄:18,性别:female,分数:90 学号:2,姓名:kisi,年龄:21,性别:male,分数:77
3. 查看班级中成绩不及格的学生信息
g.failed_students()
运行结果:
学号:4,姓名:anan,年龄:12,性别:female,分数:56
4. 将班级中的学生按照成绩降序排序
g.order_students()
g.show_all()
运行结果:
学号:3,姓名:tom,年龄:16,性别:male,分数:91 学号:1,姓名:zhangsan,年龄:18,性别:female,分数:90 学号:5,姓名:wangwu,年龄:19,性别:female,分数:80 学号:2,姓名:kisi,年龄:21,性别:male,分数:77 学号:4,姓名:anan,年龄:12,性别:female,分数:56
完整代码实现:
class Student(object):
def __init__(self, number, name, age, gender, score):
self.number = number
self.name = name
self.age = age
self.gender = gender
self.score = score
def __str__(self):
return '学号:{},姓名:{},年龄:{},性别:{},分数:{}'.format(self.number,
self.name,self.age,self.gender,self.score)
class Grade(object):
def __init__(self,name,students):
self.name = name
self.students =students
def show_all(self):
for student in self.students:
print(student)
def get_student_by_number(self,n):
for s in self.students:
if s.number == n:
return s
else:
return '用户未找到'
def failed_students(self):
result = filter(lambda student:student.score < 60,self.students)
for x in result:
print(x)
def order_students(self):
self.students.sort( key =lambda s:s.score,reverse = True) #直接修改self.students
# sorted(self.students,key=lambda s:s.score,reverse=True)
s1 = Student(1,'zhangsan',18,'female',90)
s2 = Student(2,'kisi',21,'male',77)
s3 = Student(3,'tom',16,'male',91)
s4 = Student(4,'anan',12,'female',56)
s5 = Student(5,'wangwu',19,'female',80)
g = Grade('二班',[s1,s2,s3,s4,s5])
# print(g.get_student_by_number(1))
# print(g.get_student_by_number(2))
# g.show_all()
# g.failed_students()
g.order_students()
g.show_all()
# x = g.order_students()
# for student in x:
# print(student)
终于完成啦,现在是2015/10/25-00:06啦,有点困明天还要早起,恩~今晚就写到这里吧。希望这篇文章也可以帮助到你,Thanks♪(・ω・)ノ亲~的查看与支持哟,欢迎收藏+关注我好嘛·~(^U^)ノ~YO晚安世界!