鱼C论坛

 找回密码
 立即注册
查看: 1493|回复: 9

[已解决]新手求助!

[复制链接]
发表于 2018-4-7 14:17:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用Python写一个歌词解释器:
最佳答案
2018-4-7 15:31:23
娱乐了下,大家开心就好
  1. import re
  2. import time
  3. musicLrc='''[00:03.01]歌名:甲鱼歌
  4. [00:46.12][00:05.01]大河 向东流哇
  5. [00:48.55][00:07:03]河里的甲鱼参北斗哇
  6. [00:51.01][00:10.55]嘿嘿 嘿嘿参北斗哇
  7. [00:53.01][00:14.55](生死之交一碗酒哇)
  8. [00:56.01][00:16.55]说 走 咱就走哇
  9. [00:57.01][00:18.55]清蒸红烧全都 有哇
  10. [00:60.01][00:24.55](嘿嘿嘿嘿 全都有哇)
  11. [00:63.01][00:26.55](水里火里不回头)
  12. [00:66.01][00:28.55]路 见不平缩壳里哇
  13. [00:69.01][00:30.55]该 出手时不出手
  14. [00:72.01][00:32.55]风风 火火闯九洲哇
  15. [00:75.01][00:34.55](该出手时难出手哇)
  16. [00:78.01][00:36.55](风风火火闯九洲哇)
  17. [00:81.01][00:38.55]嘿 呀 咿儿呀
  18. [00:84.01][00:40.55]嘿唉嘿咿儿呀
  19. [00:87.01][00:42.55](嘿嘿呀 咿儿呀
  20. [00:90.01][00:44.55]嘿嘿 嘿嘿咿儿呀)
  21. [00:91.01][00:45.55]歌词真长,都是我编的啊~掌声先给小甲鱼和各位版主
  22. '''

  23. list1=musicLrc.split('\n')
  24. dict1={}
  25. def change(s):
  26.     p=r'\d{2}'
  27.     t=re.findall(p,s)
  28.     return int(t[0])*60+int(t[1])+int(t[2])/100

  29. for each in list1:
  30.     text=each.split(']')[-1]
  31.     times=re.findall(r'\d{2}:\d{2}.\d{2}',each)
  32.     for s in times:
  33.         dict1[change(s)]=text
  34. i=0
  35. while i<=9200:
  36.     if i/100 in dict1:
  37.         print(dict1[i/100])
  38.     i+=1
  39.     time.sleep(0.01)
  40. print('结束了')   

复制代码

题目截图

题目截图
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-7 14:33:30 | 显示全部楼层
这个做个题目不错
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-7 14:34:29 | 显示全部楼层
需要根据线程来实现
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-4-7 15:31:23 | 显示全部楼层    本楼为最佳答案   
娱乐了下,大家开心就好
  1. import re
  2. import time
  3. musicLrc='''[00:03.01]歌名:甲鱼歌
  4. [00:46.12][00:05.01]大河 向东流哇
  5. [00:48.55][00:07:03]河里的甲鱼参北斗哇
  6. [00:51.01][00:10.55]嘿嘿 嘿嘿参北斗哇
  7. [00:53.01][00:14.55](生死之交一碗酒哇)
  8. [00:56.01][00:16.55]说 走 咱就走哇
  9. [00:57.01][00:18.55]清蒸红烧全都 有哇
  10. [00:60.01][00:24.55](嘿嘿嘿嘿 全都有哇)
  11. [00:63.01][00:26.55](水里火里不回头)
  12. [00:66.01][00:28.55]路 见不平缩壳里哇
  13. [00:69.01][00:30.55]该 出手时不出手
  14. [00:72.01][00:32.55]风风 火火闯九洲哇
  15. [00:75.01][00:34.55](该出手时难出手哇)
  16. [00:78.01][00:36.55](风风火火闯九洲哇)
  17. [00:81.01][00:38.55]嘿 呀 咿儿呀
  18. [00:84.01][00:40.55]嘿唉嘿咿儿呀
  19. [00:87.01][00:42.55](嘿嘿呀 咿儿呀
  20. [00:90.01][00:44.55]嘿嘿 嘿嘿咿儿呀)
  21. [00:91.01][00:45.55]歌词真长,都是我编的啊~掌声先给小甲鱼和各位版主
  22. '''

  23. list1=musicLrc.split('\n')
  24. dict1={}
  25. def change(s):
  26.     p=r'\d{2}'
  27.     t=re.findall(p,s)
  28.     return int(t[0])*60+int(t[1])+int(t[2])/100

  29. for each in list1:
  30.     text=each.split(']')[-1]
  31.     times=re.findall(r'\d{2}:\d{2}.\d{2}',each)
  32.     for s in times:
  33.         dict1[change(s)]=text
  34. i=0
  35. while i<=9200:
  36.     if i/100 in dict1:
  37.         print(dict1[i/100])
  38.     i+=1
  39.     time.sleep(0.01)
  40. print('结束了')   

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-7 16:00:10 | 显示全部楼层
我现在还没学函数,只知道time模块
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-7 16:01:34 | 显示全部楼层
塔利班 发表于 2018-4-7 15:31
娱乐了下,大家开心就好

厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-7 16:02:06 | 显示全部楼层
南城顾她 发表于 2018-4-7 14:34
需要根据线程来实现

还没学线程
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-7 16:13:15 | 显示全部楼层
塔利班 发表于 2018-4-7 15:31
娱乐了下,大家开心就好

i<9200 是什么意思啊,可以注释一下吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-7 16:14:17 | 显示全部楼层

我不知道歌多长,自己定义92秒
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-7 16:33:46 | 显示全部楼层
塔利班 发表于 2018-4-7 16:14
我不知道歌多长,自己定义92秒

哦 知道了,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-10 07:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表