美文网首页
2018-09-08 day15-作业

2018-09-08 day15-作业

作者: greencap | 来源:发表于2018-09-08 16:49 被阅读0次

    1.定义一个学生类,有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]
    方法:a. 获取学生的姓名:getname()
    b. 获取学生的年龄:getage()
    c. 返回3门科目中最高的分数。get_course()

    class Student:
        """学生类"""
        def __init__(self,name,age):
            self.name = name
            self.age = age
            self.scores = {}
    
        def highest_scores(self):
            for _ in self.scores:
                if not self.scores:
                    return 0
                return max(self.scores.values())
    
    if __name__ == '__main__':
        s1 = Student('博丽灵梦',18)
        s1.scores = {'语文':89, '数学':93, '英语':77}
        print(s1.name,s1.age)
        print(s1.highest_scores())
    # 输出结果
    博丽灵梦 18
    93
    

    2.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等成员变量,
    并通过不同的构造方法创建实例。至少要求 汽车能够加速 减速 停车。
    再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD等成员变量 覆盖加速,减速的方法

    class Auto:
        """汽车类"""
        def __init__(self,tire=0,color='白色',kg=0,speed=0):
            self.tire = tire
            self.color = color
            self.kg = kg
            self.speed = speed
        # 对象方法
        def accelerate(self):
            print('汽车能够加速')
        # 类方法
        @classmethod
        def decelerate(cls):
            print('汽车能够减速')
        # 静态方法
        @staticmethod
        def park():
            print('停车')
    
    class Car(Auto):
        def __init__(self):
            super().__init__()
            self.conditioner = '空调'
            self.CD = 'CD'
    
        def accelerate(self):
            print('空调')
        def decelerate(cls):
            print('CD')
    
    
    
    
    if __name__ == '__main__':
        a1 = Auto(3, '白色', 78, 100)
        a1.accelerate()
        a1.decelerate()
        a1.park()
        a2 = Car()
        # print(a2.CD)
        # print(a2.conditioner)
        a2.decelerate()
        a2.accelerate()
    #输出结果
    汽车能够加速
    汽车能够减速
    停车
    CD
    空调
    CD
    空调
    

    3.创建一个名为User 的类,其中包含属性firstname 和lastname
    还有用户简介通常会存储的其他几个属性。
    在类User 中定义一个名 为describeuser() 的方法,它打印用户信息摘要;
    再定义一个名为greetuser() 的方法,它向用户发出个性化的问候。
    管理员是一种特殊的用户。编写一个名为Admin 的类,让它继承User类。
    添加一个名为privileges 的属性,
    用于存储一个由字符串(如"can add post"、"can delete post"、"can ban user"等)组成的列表。
    编写一个名为show_privileges()的方法,它显示管理员的权限。
    创建一个Admin 实例,并调用这个方法。

    class User:
        def __init__(self,firstname='',lastname='',age=0,sex=''):
            self.firstname = firstname
            self.lastname = lastname
            self.age = age
            self.sex = sex
        def describeuser(self):
            print(self.__dict__)
        @staticmethod
        def greetuser():
            print('你好,欢迎回来!')
    
    class Admin(User):
        def __init__(self,privileges=[]):
            super().__init__()
            self.privileges = privileges
        def show_privileges(self):
            b=''
            for a in privileges[0:-1]:
                b+='%s,'%a
            print('管理权限是%s'%b+privileges[-1]+'.')
    privileges = ["can add post","can delete post","can ban user"]
    
    if __name__ == '__main__':
        u1 = User('爱丽丝','威震天',18,'女')
        u1.describeuser()
        u1.greetuser()
        a1 = Admin(privileges)
        print(a1.privileges)
        a1.show_privileges()
    

    创建一个Person类,
    添加一个类字段用来统计Perosn类的对象的个数

    class Person:
        count = 0
        def __init__(self):
            Person.count+=1
    p1= Person()
    p2 =Person()
    
    if __name__ == '__main__':
        print(Person.count)
    

    相关文章

      网友评论

          本文标题:2018-09-08 day15-作业

          本文链接:https://www.haomeiwen.com/subject/huqlgftx.html