day16作业

2019-01-14  本文已影响0人  xue_y

0.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]

方法:
a. 获取学生的姓名:getname()
b. 获取学生的年龄:getage()
c. 返回3门科目中最高的分数。get_course()

class Student:
    def __init__(self, name, age, score: dict):
        self.name = name
        self.age = age
        self.score = score

    def getname(self):
        return self.name

    def getage(self):
        return self.age

    def get_course(self):
        list_score = []
        for key in self.score:
            list_score.append(self.score[key])
        return max(list_score)

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

class Auto:
    def __init__(self, tire, color, weight, speed):
        self.tire = tire
        self.color = color
        self.weight = weight
        self.speed = speed

    def speed_up(self):
            self.speed += 1
            return self.speed

    def speed_down(self):
        if self.speed > 0:
            self.speed -= 1
            return self.speed

    def speed_stop(self):
        self.speed = 0
        return self.speed


class CarAuto(Auto):
    def __init__(self, conditioner, cd):
        super().__init__()
        self.conditioner = conditioner
        self.cd = cd
        
    def speed_up(self):
        up_num = int(input('请输入要加速多少:'))
        self.speed += up_num
        return self.speed

    def speed_down(self):    
        if self.speed > 0:
            down_num = int(input('请输入要加速多少:'))
            self.speed -= down_num
            return self.speed

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, firstname, lastname, age=0, sex='男'):
        self.firstname = firstname
        self.lastname = lastname
        self.age = age
        self.sex = sex

    def describeuser(self):
        return self.__dict__

    def greetuser(self):
        print('早上好%s' % self.lastname)

class Admin(User):
    def __init__(self, firstname, lastname, privileges=['can add post', 'can delete post', 'can ban user']):
        super().__init__(firstname, lastname)
        self.privileges = privileges

    def show_privileges(self):
         for item in self.privileges:
            print(item)

user1 = User('四', '李')
print(user1.describeuser())
user1.greetuser()
admin1 = Admin('四', '李')
admin1.show_privileges()

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

class Person:
    num = 0
    def __init__(self):
        Person.num += 1




p1 = Person()
p1 = Person()
p1 = Person()
p1 = Person()
print(Person.num)
上一篇下一篇

猜你喜欢

热点阅读