美文网首页
day18-作业

day18-作业

作者: RurouniKenshin | 来源:发表于2018-08-02 19:35 被阅读129次

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

    class Student:
        def __init__(self, name, age, scores):
            self.name = name
            self.age = age
            self.scores = scores
    
        def get_name(self):
            return self.name
    
        def get_age(self):
            return self.age
    
        def get_course(self):
            return max(self.scores)
    
    
    if __name__ == '__main__':
        # 测试代码
        stu = Student('小明', 14, (92, 99, 100))
        print(stu.get_name(), stu.get_age(), stu.get_course())
     # 结果
    小明 14 100
    

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

    class Auto:
        def __init__(self, color='', weight=0, speed=0):
            self.shoe_number = 4
            self.color = color
            self.weight = weight
            self.speed = speed
    
        def up_speed(self, up):
            return self.speed + up
    
        def down_speed(self, down):
            return self.speed - down
        @staticmethod
        def stop(self):
            return False
    
    class CarAuto(Auto):
        def __init__(self, color, weight, speed, ac, cd):
            super().__init__(color, weight, speed)
            self.ac = ac
            self.cd = cd
    
        def up_speed(self, level):
            return self.speed + level*10
    
        def down_speed(self, level):
            return self.speed - level*10
    
    
    if __name__ == '__main__':
        a1 = Auto('red', 1600, 180)
        a2 = Auto(speed=185, weight=1580,color='white')
        a3 = Auto()
        a3.color = 'black'
        a3.weight = 1700
        a3.speed = 190
        print(a1.__dict__, a2.__dict__, a3.__dict__, sep='\n')
    # 结果
    {'shoe_number': 4, 'color': 'red', 'weight': 1600, 'speed': 180}
    {'shoe_number': 4, 'color': 'white', 'weight': 1580, 'speed': 185}
    {'shoe_number': 4, 'color': 'black', 'weight': 1700, 'speed': 190}
    

    2.创建一个名为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, first_name='', last_name='', login_name='', password='', position=''):
            self.first_name = first_name
            self.last_name = last_name
            self.login_name = login_name
            self.password = password
            self.position = position
    
        def describe_user(self):
            print(self.__dict__)
    
        def greet_user(self):
            print('Hello %s !' % (self.first_name + '' + self.last_name))
    
    
    class Admin(User):
        def __init__(self):
            super().__init__()
            self.privileges = ["can add post", "can delete post", "can ban user"]
    
        def show_privileges(self):
            print('Admin\'s privileges are:', self.privileges)
    
    
    if __name__ == '__main__':
        a = Admin()
        a.show_privileges()
    # 结果
    Admin's privileges are: ['can add post', 'can delete post', 'can ban user']
    

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

    """new python"""
    
    
    class Person:
    
        __person_number = 0
    
        def __init__(self):
            Person.__person_number += 1
    
        def __del__(self):
            Person.__person_number -= 1
    
        @classmethod
        def person_number(cls):
            return cls.__person_number
    
    
    if __name__ == '__main__':
        a = Person()
        b = Person()
        c = Person()
        d = Person()
    
        print(Person.person_number())
        del a
        print(Person.person_number())
        del b
        del c
        print(Person.person_number())
    # 结果
    4
    3
    1
    

    (尝试)5.写一个类,其功能是:
    1.解析指定的歌词文件的内容
    2.按时间显示歌词
    提示:歌词文件的内容一般是按下面的格式进行存储的。歌词前面对应的是时间,在对应的时间点可以显示对应的歌词

    相关文章

      网友评论

          本文标题:day18-作业

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