15-歌词解析

2018-08-02  本文已影响0人  李小萌mmm
# !/usr/bin/env/python
# .*. encoding:utf-8 -*-


music_list = """[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]蓝莲花
"""
lrcdict = {}


class Music:
    def mucis_lrc(self):
        music_Lrc = music_list.splitlines()

        for LrcLine in music_Lrc:
            # 通过切割把[02:47.83][00:57.47]蓝莲花 变成一个列表 [ '[02:47.83', '[00:57.47', '蓝莲花']
            Lrc = LrcLine.split(']')

            for index in range(len(Lrc) - 1):
                # 通过下标取出列表中的时间
                # Lrc[index]  [02:47.83    [00:57.47
                timestr = Lrc[index][1:]  # 去掉字符串中的左括号[

                # 00: 57.47
                timelist = timestr.split(':')
                # 把时间变成秒数
                time = float(timelist[0]) * 60 + float(timelist[1])

                # key:取出来的时间 value: 歌词存到字典里面
                lrcdict[time] = Lrc[-1]
        # 打印时间和歌词的对应 方便输入的时候查看
        print(lrcdict)
        alltimelist = []

        # 把时间取出来
        for key in lrcdict:
            # 添加到列表并排序
            alltimelist.append(key)
        alltimelist.sort()

        for i in range(len(alltimelist)):

            temp = alltimelist[i]  # 通过下标把列表里的时间取出来

            # 比如 temp = 0.8  输入的时间是0.7
            # 打印的时间是0.8前一个时间
            # 所以说第一个时间 和最后一个时间都取不了 要特殊判断

            if getTime < alltimelist[0]:
                print(lrcdict[alltimelist[0]])
                break

            if getTime < temp:
                print(lrcdict[alltimelist[i - 1]])
                break

            if getTime > alltimelist[-1]:
                print(lrcdict[alltimelist[-1]])
                break


while True:
    getTime = float((input('输入一个时间:')))
    m1 = Music()
    m1.mucis_lrc()
上一篇下一篇

猜你喜欢

热点阅读