day16 作业

  1. 定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]
    方法:
    a. 获取学生的姓名:getname()
    b. 获取学生的年龄:getage()
    c. 返回3门科目中最高的分数。get_course()
class Student:
    def __init__(self, name, age, score):
        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):
        return self.score[max(self.score, key=lambda x: x)]


stu1 = Student('张三', 20, {'Chinese': 87, 'Math': 90, 'English': 65})
print(stu1.getname())
print(stu1.getage())
print(stu1.get_course())
  1. 建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等成员变量,并通过不同的构造方法创建实例。至少要求 汽车能够加速 减速 停车。
    再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD等成员变量 覆盖加速 减速的方法
class Auto:
    def __init__(self, color, speed, weight=200):
        self.tyre_count = 4
        self.color = color
        self.weight = weight
        self._speed = speed

    @property
    def speed(self):
        if self._speed > 80:
            return '减速!'
        elif self._speed == 0:
            return '停车!'
        else:
            return '加速!'


class CarAuto(Auto):
    def __init__(self, CD):
        super().__init__(CD, 0)
        self.air_conditioning = ''
        self.CD = CD

    def listen_music(self):
        return '车里放着音乐:%s' % self.CD


a1 = Auto('银色', 80)
ca1 = CarAuto('生僻字')
print(a1.speed)
print(ca1.speed)
print(ca1.listen_music())
  1. 创建一个名为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, sex='', age=30):
        self.firstname = firstname
        self.lastname = lastname
        self.age = age
        self.sex = sex

    def describeuser(self):
        return '姓名:%s  性别:%s  年龄:%d' % (self.firstname+self.lastname, self.sex, self.age)

    def greet(self):
            return 'Hello! %s' % (self.firstname+self.lastname)


class Admin(User):
    def __init__(self, privileges):
        super().__init__(privileges, '李', '四')
        self.privileges = privileges

    def show_privileges(self):
        return self.privileges


u1 = User('张', '三', '女')
ad = Admin(["can add post", "can delete post", "can ban user"])
print(u1.describeuser())
print(u1.greet())
print(ad.show_privileges())
  1. 创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数
class Person:
    count = 0

    def __init__(self, name):
        self.name = name
        Person.count += 1

    @classmethod
    def final_count(cls):
        return cls.count


p1 = Person('杰克')
p2 = Person('张三')
print(Person.count)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • .定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数] 方法: a. 获取学生的姓...
    LittleBear_6c91阅读 352评论 0 0
  • 定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数] 方法:a. 获取学生的姓名:...
    ChiAo1fei阅读 479评论 0 0
  • 0.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]方法: a. 获取学生的姓...
    星龙断月阅读 359评论 0 0
  • 0.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]方法:a. 获取学生的姓名...
    ychaochaochao阅读 135评论 0 0
  • 富士山作为日本第一高山 (3,776m)被世人所知,其整体均衡之美说是日本的象征一点不为过。其位于山梨县与静冈县之...
    29dc121261a7阅读 968评论 0 1

友情链接更多精彩内容