美文网首页
2018-09-07day15-作业

2018-09-07day15-作业

作者: 猫爱老鼠丶 | 来源:发表于2018-09-08 08:54 被阅读0次

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

class Student:
    def __init__(self, name='', age=0):
        self.name = name
        self.age = age
        self.score = []

    def get_name(self):
        return self.name

    def get_age(self):
        return self.age

    def get_score(self):
        return max(self.score)
stu1 =Student('小明', 20)
stu1.score = [78, 86, 92]
print(stu1.get_name())
print(stu1.get_age())
print(stu1.get_score())

小明
20
92

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

class Auto:
    def __init__(self, tyre_number=0, color='', weight='', speed=''):
        self.tyre_number = tyre_number
        self.color = color
        self.weight = weight
        self.speed = speed

    def speed_up(self):
        print('加速!!')
    def slow_down(self):
        print('减速!!')
    def stop(self):
        print('停车~~')

class CarAuto(Auto):
    def __init__(self, air_conditioner='制冷', CD='god is a girl'):
        super().__init__(4, '黑色', '1.5t', '60km/h')
        self.air_conditioner = air_conditioner
        self.CD = CD

    def speed_up(self):
        print('覆盖加速!!')
    def slow_down(self):
        print('覆盖减速!!')

car1 = CarAuto()
print(car1.__dict__)
car1.speed_up()
car1.slow_down()
car1.stop()

{'tyre_number': 4, 'color': '黑色', 'weight': '1.5t', 'speed': '60km/h', 'air_conditioner': '制冷', 'CD': 'god is a girl'}
覆盖加速!!
覆盖减速!!
停车~~

3.创建一个名为User的类,其中包含属性firstname 和lastname ,还有用户简介通常会存储的其他几个属性。在类User中定义一个名为describeuser() 的方法,它打印用户信息摘要;再定义一个名为greetuser() 的方法,它向用户发出个性化的问候。

class User:
    def __init__(self, firstname='', lastname=''):
        self.firstname = firstname
        self.lastname = lastname
    def describeuser(self):
        print('firstname:%s lastname:%s'%(self.firstname,self.lastname))
    def greetuser(self):
        print('尊敬的%s用户,您好!'%(self.lastname))

user1 = User('爱新觉罗', '玄烨')
user2 = User('爱新觉罗', '弘历')
user1.describeuser()
user1.greetuser()
user2.describeuser()
user2.greetuser()

firstname:爱新觉罗 lastname:玄烨
尊敬的玄烨用户,您好!
firstname:爱新觉罗 lastname:弘历
尊敬的弘历用户,您好!

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

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

p1 = Person()
P2 = Person()
print(Person.count)

2

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

import time
class Lyrics:
    """歌词类"""
    def __init__(self):
        self.lrc = ''
        self._time = 0

    @property
    def time(self):
        return self._time


    @time.setter
    def time(self,time):
        index = time.index(':')
        fen = time[1:index]
        miao = time[index+1:]
        self._time = float(fen)*60 + float(miao)

    def __str__(self):
        return str(self.time) + ':' + self.lrc

    def __gt__(self, other):
        return self._time > other.time

class LrcAnalyze:
    """歌词解析类"""
    __all_lrcs = [] # 保存所有的歌词对象

    @classmethod
    def __analyze(cls,file):
        """读取歌词内容"""
        with open(file, 'r', encoding='utf-8') as f:
            line = f.readline()
            while line:
                cls.__create_lrc(line)
                line = f.readline()
            cls.__all_lrcs.sort(reverse=True)

    @classmethod
    def __create_lrc(cls,line):
        """创建歌词对象"""
        lrcs = line.split(']')
        lrc = lrcs[-1]
        for index in range(0,len(lrcs)-1):
            time = lrcs[index]
            lrc_obj = Lyrics()
            lrc_obj.lrc = lrc
            lrc_obj.time = time
            cls.__all_lrcs.append(lrc_obj)

    @classmethod
    def get_lrc(cls, time, file):
        """根据时间获取歌词"""
        if not cls.__all_lrcs:
            cls.__analyze(file)

        for lrc_obj in cls.__all_lrcs[:]:
            if lrc_obj.time <= time:
                return lrc_obj

number = 0
while True:
    time.sleep(0.01)
    number += 0.01
    print(LrcAnalyze.get_lrc(number,'./files/蓝莲花.txt'))

相关文章

  • 2018-09-07day15-作业

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

  • 2018-09-07day15-类和对象(2)

    一、内置类属性 内置类属性就是魔法属性魔法属性:属性名的前面和后面有两个下划线魔法方法:方法的前后都有两个下划线1...

  • 今天先不更

    补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业补作业...

  • 作业作业作业

    出外听课两天,小必的学习没过问。 早晨,小必的数学作业没完成,很多没完成:优化设计,数学书,小灵通,都没完成。 中...

  • 作业作业作业

    头疼的厉害,太阳穴绷得紧紧的。躺了一个多小时了,也不见好转。每当这个时候,一场大觉就能让我彻底放松。可是心不静,怎...

  • 作业作业作业

    1,我的作业 写好了文章,倒也没发的欲望,这是我的作业,作业。 只是想着把一切都准备好,明天再发。听说发文很多O推...

  • 作业作业作业

    @所有人 各位家长:学生对待作业的态度就是对待学习的态度。态度决定一切!老师们在检查作业过程中发现有不写的、有偷工...

  • 11-17

    作业1: 作业2: 作业3: 作业4: 作业5: 作业6: 作业7: 作业8: 作业9: 作业10: 作业11: ...

  • 11月17

    作业1 作业2 作业3 作业4 作业五 作业6 作业7 作业8 作业9 作业10 作业11 思考

  • 11.17

    作业1 作业2 作业3 作业4 作业5 作业6 作业7 作业8 作业9 作业10 作业11 思考

网友评论

      本文标题:2018-09-07day15-作业

      本文链接:https://www.haomeiwen.com/subject/jwdhgftx.html