day14-作业

2018-08-02  本文已影响0人  旧时初_2e8d

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

class Score:
    """成绩类"""
    def  __init__(self,chinese,math,english):
        self.chinese = int(chinese)
        self.math = int(math)
        self.english = int(english)

class Student:
    """学生类"""
    def __init__(self,name,age):
        self.name = name
        self.age = age
        self.scores = []
    def get_name(self):
        """获取学生姓名"""
        print('姓名:%s'%self.name)
    def get_age(self):
        """获取学生年龄"""
        print('年龄:%s'%self.age)
    def get_course(self):
        """返回三门中最大分数"""
        score = Score(80,90,70)
        new_score = score.__dict__
        self.scores.append(new_score)
        return max(score.english,score.math,score.chinese)


stu1 = Student('张三',18)
stu1.get_name()
stu1.get_age()
print(stu1.get_course())

if __name__ == '__main__':
    pass

结果

姓名:张三
年龄:18
90

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

class Auto:
    """汽车类"""
    def __init__(self,tyre,color,weight='1吨'):
        self.tyre = tyre
        self.color = color
        self.weight = weight
        self.speed = 0
    def accelerate(self):
        print('加速')

    def deceleration(self):
        print('减速')
    def stop(self):
        print('停车')

aut = Auto(4,'white')
print(aut.tyre,aut.color,aut.weight,aut.speed)
aut1 = Auto(4,'white')
aut1.tyre = 6
aut1.color = 'blue'
aut1.weight = '2吨'
aut1.speed = 100
print(aut1.tyre,aut1.color,aut1.weight,aut1.speed)
aut.stop()
aut1.accelerate()

class CarAuto(Auto):
    """小汽车类"""
    def __init__(self,CD,tyre,color):
        super().__init__(tyre,color)
        self.air_conditioner = ''
        self.CD = CD
    def accelerate(self):
        super().accelerate()
        print('150码')
    def stop(self):
        print('熄火')

结果

4 white 1吨 0
6 blue 2吨 100
停车
加速

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,time):
        self.firstname = '张三'
        self.lastname = '李四'
        self.time = time
        self.sex = '男'
    def describeuser(self):
        print(self.firstname,self.lastname,self.time,self.sex)

    @staticmethod
    def greetuser():
        print('你们好呀么么哒')

class Admin(User):
    def __init__(self,time,):
        super().__init__(time)
        self.privileges = []
    def show_privileges(self):
        str1 = 'can add post'
        str2 = 'can delete post'
        str3 = 'can ban user'
        self.privileges.append(str1)
        self.privileges.append( str2)
        self.privileges.append(str3)

        print(self.privileges)

adm = Admin('2018.07,24')
adm.show_privileges()

结果

['can add post', 'can delete post', 'can ban user']

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

class Person:
    count = 0

    def __init__(self):
        Person.count += 1
        self.name = '张三'
    @classmethod
    def  count_number(cls):
        return cls.count
per1 = Person()

per2 = Person()

per3 = Person()

print(Person.count_number())

结果

3
上一篇下一篇

猜你喜欢

热点阅读