day15

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

    def __init__(self,tyre=4,color='yellow',weight=1000,speed=0):
        self.tyre = tyre
        self.color = color
        self.weight = weight
        self.speed = speed
        with open('./car.txt', 'w',encoding='utf-8') as f:
            f.write(str(self.speed))
    def speed_control(self,speed):
        with open('./car.txt', 'r', encoding='utf-8') as f:
            self_speed =int(f.read())
        if self_speed>speed>0:
            print('车辆相比之前在减速')
        elif self_speed < speed<280:
            print('车辆相比之前在加速')
        elif  speed == 0:
            print('停车处于停止状态')
        else:
            print('输入的速度不符合常理')

auto = Auto(4,'red',1000,56)
auto.speed_control(4)


class CarAuto(Auto):
    def __init__(self,air_condition,cd):
        super(CarAuto, self).__init__()
        self.air_condition = air_condition
        self.cd = cd

    def speed_control(self, speed):
        with open('./car.txt', 'r', encoding='utf-8') as f:
            self_speed = int(f.read())
        if self_speed > speed > 0:
            print('车辆相比之前在减速')
        elif self_speed < speed < 120:
            print('车辆相比之前在加速')
        elif speed == 0:
            print('停车处于停止状态')
        else:
            print('输入的速度不符合小车范围')


car_cuto = CarAuto('格力','光辉岁月')
car_cuto.speed_control(0)
  1. 创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数
class Person():
    count = 0

    def __init__(self):
        self.__class__.count += 1

    @classmethod
    def statistics(cls):
        print('调用过{}次Person'.format(cls.count))


person = Person()
person1 = Person()
person2 = Person()
person3 = Person()
person.statistics()
  1. 创建一个动物类,拥有属性:性别、年龄、颜色、类型 ,
    要求打印这个类的对象的时候以'/XXX的对象: 性别-? 年龄-? 颜色-? 类型-?/' 的形式来打印
class Animal():
    def __init__(self,gender,age,color,type):
        self.gender = gender
        self.age = age
        self.color = color
        self.type = type
        print('{}的对象:性别-{},年龄-{},颜色-{},类型-{}' .format(Animal.__name__,self.gender,self.age,self.color,self.type))

Animal('男',12,'red','猫科动物')
  1. 写一个圆类, 拥有属性半径、面积和周长;要求获取面积和周长的时候的时候可以根据半径的值把对应的值取到。但是给面积和周长赋值的时候,程序直接崩溃,并且提示改属性不能赋值
class Circle():
    def __init__(self,r,area=0,perimeter=0):
        if not (area or perimeter):
            self.r = r
            area = 3.14*r*r
            perimeter = 3.14*r*2
            print('面积:{},周长:{}' .format(area,perimeter))
        else:
            raise ('改属性不能赋值')


Circle(8)
  1. 写一个扑克类, 要求拥有发牌和洗牌的功能(具体的属性和其他功能自己根据实际情况发挥)
import  random
class Poker():

    nums = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
    color = ['♥', '♠', '♦', '♣']
    king = [('大王','red'),('小王','black')]
    def __init__(self):
        pass

    @classmethod
    def xi_pai(cls):
        l = []
        for x in Poker.nums:
            for y in Poker.color:
                l.append((x,y))
        l.extend(Poker.king)
        random.shuffle(l)
        return (l)

    def fa_pai(self):
        p=iter(Poker.xi_pai())
        player1 = []
        player2 = []
        player3 = []
        num = 1
        for x in range(17*3):
            if num == 1:
                player1.append(next(p))
            elif num == 2:
                player2.append(next(p))
            elif num == 3:
                player3.append(next(p))
                num = 0
            num += 1
        print(player1,player2,player3,list(p))


poker = Poker()
print(poker.xi_pai())
poker.fa_pai()
  1. (尝试)写一个类,其功能是: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]蓝莲花

你可能感兴趣的:(day15)