萌新求问一段代码的意思

2019-03-28 08:33:52 +08:00
 ls904704081
# import time
# def func(dic,li2):
# time2=0
# for j in range(len(li2)-1):
# time2=round((float(li2[j][1:3])*60+float(li2[j][4:9])),2)
# dic.update({time2: li2[len(li2) - 1]})
# def play(time2,dic):
# if dic.get(round(time2,2)) != None:
# print(dic[time2])
# music='''[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]'''
# li=music.splitlines()
# dic={}
# for i in li:
# li2=i.split(']')
# func(dic,li2)
# # print(dic)
# time1=0
# str=''
# while True:
# time.sleep(0.01)
# time1+=0.01
# play(round(time1,2),dic)
4001 次点击
所在节点    Python
24 条回复
hpj
2019-03-28 14:05:39 +08:00
LRC ?
ccpp132
2019-03-28 15:06:55 +08:00
meik2333 你这样误差积累很快的,后面就对不上了
GeruzoniAnsasu
2019-03-28 15:33:38 +08:00
@meik2333 快速轮询其实还更科学一点, 因为从上一句到下一句是个持续不断变化的状态,并不是只有上一个时间点和下一个时间点需要关心
meik2333
2019-03-28 16:04:06 +08:00
@ccpp132
@GeruzoniAnsasu

然而你们看看他原来的代码……他原来的写法是 sleep(0.01),然后自己维护一个变量,每次 += 0.01 ,然后去字典里找,这样只会让误差更大。我只是在他基础上给了一个同样思路的改进版,减少 sleep 的次数。

如果想要减少的话,当然是轮询好一些。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/549363

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX