# !/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()
网友评论