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]])