Python零基础学习代码实践 —— 模拟播放器中的歌词显示

简介: import timemusucLrc = '''[00:00.01]给我你的爱  [00:02.01]林宥嘉,张杰 [00:05.53] 作词:秋风[00:09.83] 作曲:秋风[00:14.

import time
musucLrc = '''
[00:00.01]给我你的爱  
[00:02.01]林宥嘉,张杰 
[00:05.53] 作词:秋风
[00:09.83] 作曲:秋风
[00:14.90]
[00:15.65]相信我 在每个生命的路口
[00:20.98]在每个无助的时候
[00:24.75]都有对爱的渴求
[00:30.47]我想把 真的爱向你传达
[00:36.53]无论你在海角天涯
[00:39.52]都能感到 我的牵挂
[00:44.28]请给我你的爱
[00:47.84]请伸出手来传递这信赖
[00:51.54]就在这茫茫人海
[00:53.79]真心的爱 让世界变色彩
[00:59.02]请给我你的爱
[01:02.45]让我们用爱改变着未来
[01:06.10]在每个艰难时刻
[01:08.88]伸你的手 感觉真的爱
[01:14.81]牵着手 让我们静静地感受
[01:19.92]当风雨艰难过去后
[01:23.79]那种美好的自由
[01:29.29]我们都曾 错过幸福的意义
[01:34.77]只希望我还来得及
[01:38.45]去告诉你 真心爱你
[01:43.15]请给我你的爱
[01:47.39]请伸出手来传递这信赖
[01:50.42]就在这茫茫人海
[01:53.18]真心的爱 让世界变色彩
[01:57.72]请给我你的爱
[02:01.53]让我们用爱改变着未来
[02:05.19]在每个艰难时刻
[02:07.86]伸你的手 感觉真的爱
[02:14.27]我不再想要错过
[02:15.81]你的每个热切期待
[02:19.18]用爱 在明天到来之前
[02:22.56]向你大声说出爱~~爱
[02:29.44]请给我你的爱
[02:32.65]请伸出手来传递这信赖
[02:36.33]就在这茫茫人海
[02:39.08]真心的爱 让世界变色彩
[02:43.89]请给我你的爱
[02:47.56]让我们用爱改变着未来
[02:51.05]在每个艰难时刻
[02:53.96]伸你的手 感觉真的爱
[03:01.38]给我你的爱~~
'''
#将数据分解存储到字典里
lrcDict = {}
musicList = musucLrc.splitlines()

for lrcLine in musicList:
    #runCount = lrcLine.count(":")
    lrcLineList = lrcLine.split("]")
    for index in range(len(lrcLineList) - 1):
        timeStr = lrcLineList[index][1:]
        #print(timeStr)
        timeList = timeStr.split(":")
        timea = float(timeList[0]) * 60 + float(timeList[1])
        #print(timea)
        lrcDict[timea] = lrcLineList[-1]
#print(lrcDict)
allTimeList = []
for t in lrcDict:
    allTimeList.append(t)
allTimeList.sort()
#print(allTimeList)
#在字典里将数据调出来然后按照时间间隔将数据显示出来
#效果是一行一行的刷新
getTime =  0
while 1:
    for n in range(len(allTimeList)):
        tempTime = allTimeList[n]
        if getTime < tempTime:
            break
    lrc = lrcDict.get(allTimeList[n])
    if lrc == None:
        pass
    else:
        print(lrc)
    if n in range(len(allTimeList) - 1):
        time.sleep(allTimeList[n + 1] - allTimeList[n])
        getTime += (allTimeList[n + 1] - allTimeList[n])
    else:
        break

相关文章
|
1天前
|
设计模式 缓存 测试技术
Python中的装饰器:功能增强与代码复用的艺术####
本文将深入探讨Python中装饰器的概念、用途及实现方式,通过实例演示其如何为函数或方法添加新功能而不影响原有代码结构,从而提升代码的可读性和可维护性。我们将从基础定义出发,逐步深入到高级应用,揭示装饰器在提高代码复用性方面的强大能力。 ####
|
2天前
|
缓存 测试技术 数据安全/隐私保护
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第29天】本文通过深入浅出的方式,探讨了Python装饰器的概念、使用场景和实现方法。文章不仅介绍了装饰器的基本知识,还通过实例展示了如何利用装饰器优化代码结构,提高代码的可读性和重用性。适合初学者和有一定经验的开发者阅读,旨在帮助读者更好地理解和应用装饰器,提升编程效率。
|
9天前
|
开发者 Python
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第22天】在Python的世界里,装饰器是一个强大的工具,它能够让我们以简洁的方式修改函数的行为,增加额外的功能而不需要重写原有代码。本文将带你了解装饰器的基本概念,并通过实例展示如何一步步构建自己的装饰器,从而让你的代码更加高效、易于维护。
|
6天前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
11 3
|
11天前
|
开发框架 Python
探索Python中的装饰器:简化代码,增强功能
【10月更文挑战第20天】在编程的海洋中,简洁与强大是航行的双桨。Python的装饰器,这一高级特性,恰似海风助力,让代码更优雅、功能更强大。本文将带你领略装饰器的奥秘,从基础概念到实际应用,一步步深入其内涵与意义。
|
9天前
|
机器学习/深度学习 缓存 数据挖掘
Python性能优化:提升你的代码效率
【10月更文挑战第22天】 Python性能优化:提升你的代码效率
10 1
|
12天前
|
机器人 Shell Linux
【Azure Bot Service】部署Python ChatBot代码到App Service中
本文介绍了使用Python编写的ChatBot在部署到Azure App Service时遇到的问题及解决方案。主要问题是应用启动失败,错误信息为“Failed to find attribute &#39;app&#39; in &#39;app&#39;”。解决步骤包括:1) 修改`app.py`文件,添加`init_func`函数;2) 配置`config.py`,添加与Azure Bot Service认证相关的配置项;3) 设置App Service的启动命令为`python3 -m aiohttp.web -H 0.0.0.0 -P 8000 app:init_func`。
|
16天前
|
人工智能 IDE 测试技术
使用通义灵码提升Python开发效率:从熟悉代码到实现需求的全流程体验
作为一名Python开发者,我最近开始使用通义灵码作为开发辅助工具。它显著提高了我的工作效率,特别是在理解和修改复杂代码逻辑方面。通过AI编码助手,我能够在短时间内快速上手新项目,实现新需求,并进行代码优化,整体效率提升了60%以上。通义灵码不仅加快了代码生成速度,还增强了代码的健壮性和稳定性。
|
16天前
|
数据处理 开发者 Python
Python中的列表推导式:一种优雅的代码简化技巧####
【10月更文挑战第15天】 本文将深入浅出地探讨Python中列表推导式的使用,这是一种强大且简洁的语法结构,用于从现有列表生成新列表。通过具体示例和对比传统循环方法,我们将揭示列表推导式如何提高代码的可读性和执行效率,同时保持语言的简洁性。无论你是Python初学者还是有经验的开发者,掌握这一技能都将使你的编程之旅更加顺畅。 ####
18 1
|
9天前
|
缓存 算法 数据处理
Python性能优化:提升代码效率与速度的秘诀
【10月更文挑战第22天】Python性能优化:提升代码效率与速度的秘诀
8 0