美文网首页
Day16 作业

Day16 作业

作者: ChiAo1fei | 来源:发表于2019-01-14 20:56 被阅读0次
    1. 定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数] 方法:
      a. 获取学生的姓名:getname()
      b. 获取学生的年龄: getage()
      c. 返回3门科目中最高的分数:get_course()
    class Student:
    
        def __init__(self, name, age):
            self.name = name
            self.age = age
            self._score = []
    
        @property
        def score(self):
            for _ in self._score:
                return '语文:%d  数学:%d  英语:%d' % (self._score[0], self._score[1],self._score[2])
    
        @score.setter
        def score(self, value: list):
            for grade in value:
                if not isinstance(grade, int):
                    print('成绩只能是整数')
                    break
            else:
                self._score = value
    
        def get_name(self):
            return self.name
    
        def get_age(self):
            return self.age
    
        def get_course(self):
            return max(self._score)
    

    # 1.创建学生类
    stu1 = Student('郭锐', 23)
    stu1.score = [89, 92, 98]
    
    print(stu1.name)
    print(stu1.get_age())
    print(stu1.score)
    print(stu1.get_course())
    
    1. 2.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等成员变量,并通过不同的构造方法创建实例。至少要求:汽车能够加速,减速,停车。再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD等成员变量覆盖加速减速的方法。

      class Auto:
          tire_num = 4
      
          def __init__(self, color='white', weight='56kg', speed=0):
              self.color = color
              self.weight = weight
              self.speed = speed
      
          def __repr__(self):
              return str(self.__dict__)[1:-1]
      
          def introduce(self):
              print('这辆车的颜色是%s, 重量为%s' % (self.color, self.weight))
      
          def speed_up(self):
              self.speed += 80
              print('我加速了,当前速度是%.2f' % self.speed)
      
          def speed_cut(self):
              self.speed += 20
              print('我减速了,速度为%.2f' % self.speed)
      
          @classmethod
          def about_tire(cls):
              print('这个类的车都有%d个轮子' % cls.tire_num)
      
          @staticmethod
          def about_auto():
              print('我们都是车,都是车,不准反驳')
      
          @staticmethod
          def park():
              print('现在停车了')
      
      
      class Car(Auto):
          def __init__(self, ari_conditioner=4,about_cd='凤凰传奇',color='white', weight='56kg', speed=0):
              super().__init__()
              self.color = color
              self.weight = weight
              self.speed = speed
              self.conditioner = ari_conditioner
              self.CD = about_cd
      
          def speed_up(self):
              print('覆盖加速')
      
          def speed_cut(self):
              print('覆盖减速')
              
          # 2.创建Auto类以及子类Car
          auto1 = Auto()
          print(auto1)
          auto1.introduce()
          auto1.speed_cut()
          auto1.speed_up()
          auto1.park()
      
          car1 = Car()
          print(car1)
          car1.speed_up()
          car1.speed_cut()
      

    ​ 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, first_name, last_name, tel, e_mail='1903910939@qq.com'):
            self.first_name = first_name
            self.last_name = last_name
            self.tel = tel
            self.e_mail = e_mail
    
        def describe_user(self):
            return str(self.__dict__)[1:-1]
    
        def greet_user(self):
            print('你好%s %s' % (self.first_name, self.last_name))
    
    
    class Admin(User):
    
        def __init__(self, first_name, last_name, tel, e_mail='1903910939@qq.com',
                     privileges=['can add post', 'can delete post', 'can ban user']):
            super().__init__(first_name, last_name, tel)
            self.privileges = privileges
    
        def show_privileges(self):
            print('权限:')
            for item in self.privileges:
                print(item, end=' ')
                
     # 3.创建User类,admin继承User
    
        user1 = User('ChiAo', '1fei', '110')
        print(user1.describe_user())
        user1.greet_user()
    
        admin1 = Admin('ChiAo', '1fei', '110')
        admin1.show_privileges()
    
    1. 创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数。

      class Person:
      
          count1 = 0
      
          def __init__(self, name='小花', age=18):
              Person.count1 += 1
              self.name = name
              self.age = age
      
          @classmethod
          def count(cls):
              return cls.count1
              
      # 4.Person对象的个数
          p1 = Person()
          p2 = Person()
          print()
          print(Person.count())
      

    相关文章

      网友评论

          本文标题:Day16 作业

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