day15_homework

import math

1.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。

至少要求汽车能够加速 减速 停车。 再定义一个小汽车类CarAuto继承Auto并添加空调、CD属性,并且重新实现方法覆盖加速、减速的方法

class Auto:
    """汽车类"""
    def __init__(self, tires=2, color='白色', weight=3, speed=50):
        self.tires = tires
        self.color = color
        self.weight = weight
        self.speed = speed

    def speed_up(self):
        print('汽车正在加速')

    def speed_down(self):
        print('汽车正在减速')

    def speed_stop(self):
        print('汽车停止')

class CarAuto(Auto):
    """小汽车类"""
    def __init__(self, air_conditioning=True, CD=True):
        super().__init__()
        self.air_conditioning = air_conditioning
        self.CD = CD

    def speed_up(self):
        print('小汽车正在加速')

    def speed_down(self):
        print('小汽车正在减速')

auto1 = Auto()
auto1.speed_up()
auto1.speed_down()
car_auto = CarAuto()
car_auto.speed_up()
car_auto.speed_down()

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

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

p1 = Person()
print(Person.count)
p2 = Person()
print(Person.count)
p3 = Person()
print(Person.count)

3.创建一个动物类,拥有属性:性别、年龄、颜色、类型 ,要求打印这个类的对象的时候以'/XXX的对象: 性别-? 年龄-? 颜色-? 类型-?/'的形式来打印

class Animal:
    """动物类"""
    def __init__(self, gender, age, color, type):
        self.gender = gender
        self.age = age
        self.color = color
        self.type = type

    def show(self):
        print('/%s的对象: 性别-%s 年龄-%s 颜色-%s 类型-%s/' % (self.__class__.__name__, self.gender, self.age, self.color, self.type))

animal = Animal('公', 3, '棕色', '哺乳动物')
animal.show()

4.写一个圆类, 拥有属性半径、面积和周长;要求获取面积和周长的时候的时候可以根据半径的值把对应的值取到。

但是给面积和周长赋值的时候,程序直接崩溃,并且提示改属性不能赋值

class WriteError(Exception):
    def __str__(self):
        return '属性不能赋值!'

class Circle:
    """圆类"""
    def __init__(self, radius):
        self._radius = radius
        self._perimeter = 2*math.pi*radius
        self._area = math.pi*radius**2

    @property
    def radius(self):
        return self._radius

    @radius.setter
    def radius(self, value):
        self._radius = value
        self._perimeter = 2 * math.pi * self.radius
        self._area = math.pi * self.radius ** 2

    @property
    def perimeter(self):
        return self._perimeter

    @perimeter.setter
    def perimeter(self, value):
        raise WriteError

    @property
    def area(self):
        return self._area

    @area.setter
    def area(self, value):
        raise WriteError

circle = Circle(5)
print(circle.perimeter, circle.area)
circle.radius = 6
print(circle.perimeter, circle.area)
# circle.perimeter = 28

5.(尝试)写一个类,其功能是:

1.解析指定的歌词文件的内容
2.按时间显示歌词
提示:歌词文件的内容一般是按下面的格式进行存储的。
歌词前面对应的是时间,在对应的时间点可以显示对应的歌词

[00: 00.20]蓝莲花
[00: 00.80]没有什么能够阻挡
[00: 06.53]你对自由地向往
[00: 11.59]天马行空的生涯
[00: 16.53]你的心了无牵挂
[02: 11.27][01: 50.22][00: 21.95]穿过幽暗地岁月
[02: 16.51][01: 55.46][00: 26.83]也曾感到彷徨
[02: 21.81][02: 00.60][00: 32.30]当你低头地瞬间
[02: 26.79][02: 05.72][00: 37.16]才发觉脚下的路
[02: 32.17][00: 42.69]心中那自由地世界
[02: 37.20][00: 47.58]如此的清澈高远
[02: 42.32][00: 52.72]盛开着永不凋零
[02: 47.83][00: 57.47]蓝莲花
# 有问题
class Resolution:
    @staticmethod
    def read_text(file):
        with open(file, 'r', encoding='utf-8') as f:
            return f.readlines()

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

相关阅读更多精彩内容

  • 0.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]方法: a. 获取学生的姓...
    rzlong阅读 1,360评论 0 1
  • 0.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数] 方法: a. 获取学生的...
    Voyaserfuerte阅读 1,720评论 0 0
  • 0.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]方法: a. 获取学生的姓...
    DoubleKou阅读 1,171评论 0 0
  • 建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。至少要求 汽车...
    __e145阅读 1,769评论 0 0
  • 有简友说我太过自谦,那我今天我就嘚瑟一下。 身为六零后的我,一篇《轻松搞定阅读量》的文章,被四十六个专题收入囊中,...
    秋风宜人阅读 11,165评论 106 245

友情链接更多精彩内容