美文网首页
15-歌词解析

15-歌词解析

作者: 李小萌mmm | 来源:发表于2018-08-02 21:02 被阅读0次
    # !/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()
    

    相关文章

      网友评论

          本文标题:15-歌词解析

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