musicLrc = """[00:03.50]传奇
[00:19.10]作词:刘兵 作曲:李健
[00:20.60]演唱:王菲
[00:26.60]
[04:40.75][02:39.90][00:36.25]只是因为在人群中多看了你一眼
[04:49.00]
[02:47.44][00:43.69]再也没能忘掉你容颜
[02:54.83][00:51.24]梦想着偶然能有一天再相见
[03:02.32][00:58.75]从此我开始孤单思念
[03:08.15][01:04.30]
[03:09.35][01:05.50]想你时你在天边
[03:16.90][01:13.13]想你时你在眼前
[03:24.42][01:20.92]想你时你在脑海
[03:31.85][01:28.44]想你时你在心田
[03:38.67][01:35.05]
[04:09.96][03:39.87][01:36.25]宁愿相信我们前世有约
[04:16.37][03:46.38][01:42.47]今生的爱情故事 不会再改变
[04:24.82][03:54.83][01:51.18]宁愿用这一生等你发现
[04:31.38][04:01.40][01:57.43]我一直在你身旁 从未走远
[04:39.55][04:09.00][02:07.85]"""
lrcDict = {}
musicLrc_list = musicLrc.splitlines() # 按行切割,获得以每一行为元素的列表
#print(musicLrc_list)
for lrcline in musicLrc_list: # 遍历以每一行为元素的列表
lrcline_list = lrcline.split("]") # 以"]"为分隔符,进行切割。分割出来时间和歌词-->['[00:03.50', '传奇']
#print(lrcline_list)
for a in range(len(lrcline_list)-1): # 只遍历时间
timeStr = lrcline_list[a][1:] # 提取时间字符串
#print(timeStr)
timelrc = timeStr.split(":") # 将时间字符串以":"切割
t = float(timelrc[0]) * 60 + float(timelrc[1]) # 换算成float总和,总共多少秒
#print(t)
lrcDict[t] = lrcline_list[-1] # 将key-value 添加到字典
print(lrcDict)
keylrc = []
for key in lrcDict.keys(): # 提取字典中的key,并组成有序的列表
keylrc.append(key)
keylrc.sort()
#print(keylrc)
# 根据用户输入的时间,去除对应的歌词,此处写为死循环
while 1:
getTime = float(input("请输入一个时间:"))
for n in range(len(keylrc)-1): # 遍历key中的时间进行对比
tempTime = keylrc[n]
if getTime < tempTime:
break
if n == 0:
print("时间太短")
else:
print(lrcDict[keylrc[n-1]])