2018-09-10 day16作业---歌词解析

class Lyric:
    def __init__(self, time, word):
        self.time = time
        self.word = word
    def __str__(self):
        return '%.2f%s' % (self.time, self.word)

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

class LyricAnalysis:
    def __init__(self, son_name):
        self.son_name = son_name
        self.all_lyric = []
        self.get_Lyric()
    def get_time_word(self,content):
        contents = content.split(']')
        word=contents[-1][:-1]
        for time in contents[:-1]:
            times=time[1:].split(':')
            fen=float(times[0])*60
            miao=float(times[1])
            new_time=fen+miao
            lyric=Lyric(new_time,word)
            self.all_lyric.append(lyric)
    def get_Lyric(self):
        with open('./%s'%(self.son_name),'r',encoding='utf-8')as ff:
            content=ff.readline()
            while content:
                self.get_time_word(content)
                self.all_lyric.sort(reverse=True)
                content=ff.readline()
            for lyric in self.all_lyric:
                print(lyric)
    def get_word(self,time):
        for lyric in self.all_lyric:
            if time > lyric.time:
                return lyric.word


ni=LyricAnalysis('蓝莲花.txt')
print(ni.get_word(53))

输出:

167.83蓝莲花
162.32盛开着永不凋零
157.20如此的清澈高远
152.17心中那自由地世界
146.79才发觉脚下的路
141.81当你低头地瞬间
136.51也曾感到彷徨
131.27穿过幽暗地岁月
125.72才发觉脚下的路
120.60当你低头地瞬间
115.46也曾感到彷徨
110.22穿过幽暗地岁月
57.47蓝莲花
52.72盛开着永不凋零
47.58如此的清澈高远
42.69心中那自由地世界
37.16才发觉脚下的路
32.30当你低头地瞬间
26.83也曾感到彷徨
21.95穿过幽暗地岁月
16.53你的心了无牵挂
11.59天马行空的生涯
6.53你对自由地向往
0.80没有什么能够阻挡
0.20蓝莲花
盛开着永不凋零

Process finished with exit code 0
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 01.回顾 1.文件操作a.操作流程:打开文件(open)---操作文件(读/写)---关闭文件(close)wi...
    Ftr_阅读 283评论 0 0
  • 多继承 python支持类的多继承 python进行多继承时,子类能够继承父类的所有字段和方法,但是只能继承第一个...
    rzlong阅读 152评论 0 0
  • 1.文件操作 a.操作流程:打开文件(open)-操作文件-关闭文件(close)with open() as 文...
    汤姆猫是只疯猫阅读 117评论 0 0
  • 1.多继承 python中的类支持多继承,但不建议使用多继承继承时,子类可以拥有所有父类的所有方法和类的字段,但只...
    greencap阅读 154评论 0 0
  • 时间过得真快啊!一眨眼就第四周了。第四周我的数学和语暑假作业全部都完成了。书法一天练一张。一天读一本书。一天一首诗...
    屹_DY阅读 344评论 0 1