zoukankan      html  css  js  c++  java
  • Python 解析歌词(输入多少秒时,打印对应歌词)

    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]])
  • 相关阅读:
    Java构造方法之间的调用
    JavaNote
    微信小程序-智能机器人
    微信小程序-今日头条案例
    微信小程序-记账本
    51job爬虫
    Xcode文件目录选中变成白色, 解决方案
    Mac通过以太网共享网络
    Mac系统Safari浏览器启动无图模式
    iOS9.0之后不支持http请求解决方案
  • 原文地址:https://www.cnblogs.com/orangeJJJ/p/10161267.html
Copyright © 2011-2022 走看看