您当前的位置: 首页 >  Python

哆啦A梦_i

暂无认证

  • 0浏览

    0关注

    629博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python:33创建Student、Grade类,查看班级学生、不及格学生、指定学生信息及学生成绩降序排序

哆啦A梦_i 发布时间:2020-10-25 00:11:52 ,浏览量:0

问题分析:

–1-- 分析:

  • 两个类:(1) 学生类:Student   (2)班级类:Grade
  • 属性:(1)学生类:学号 ,姓名,年龄,性别,成绩    (2)班级类:班级名称,班级中的学生【列表存储学生】

–2-- 问题:

  1. 查看该班级中的全部学生信息
  2. 查看指定学号的学生信息
  3. 查看班级中成绩不及格的学生信息
  4. 将班级中的学生按照成绩降序排序

–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晚安世界!

关注
打赏
1556978864
查看更多评论
立即登录/注册

微信扫码登录

0.0372s