Python作业【六】(语言练习题,稍有难度)

本文提供了一组Python练习题,包括实现默认参数、动态歌词显示、实时时钟及大文件按特定分隔符读取的解决方案。适合Python初学者提升技能,同时鼓励加入学习交流群共同探讨。
摘要由CSDN通过智能技术生成

Day14(Python作业)

(Python作业来自qq群:651707058,欢迎任何程度的Python学习者)

题一:默认参数

请找出下面代码为什么会得出这样的结果。
'''

'现在我们来扩展一下列表相加,定义一个列表相加的函数,会给两个list后面都加一个None值作为结尾' \
'然后再相加'
'比如:L1 = [1,2] L2 = [3,4]  相加后变成 [1,2,None,3,4,None]' \
'L1 = [1,2] L2 = [] 相加后变成[1,2,None,None]' \
'L1 = [],L2=[],变成[None,None]'

def add_list(L1 = [],L2 = []):
    L1.append(None)
    L2.append(None)
    return L1+L2
print(add_list())
print(add_list([1,2]))
print(add_list([1,2],[3,4]))

'''
在函数的默认参数中,最好不要使用可变的默认参数
因为一个函数的默认参数的值,只会保留一份。
而不是在调用函数的时候临时去创建一个值(如下面的列表),

在以后调用函数的时候,函数都会去用这个 创建函数时创建的默认参数值
所以这一份默认参数值,如果是可变对象的话,调用就不敢保证默认参数是否
已经发生了改变,从而引起了函数错误

所以在为函数定义默认参数的时候,一定要保证默认参数值是一个不可变对象
'''

题二:歌词
我们知道一些播放器有桌面歌词的功能,他会在桌面显示一行歌词,之后又换成下一行歌词显示。在这里,我们需要使用Python来实现简单的显示歌词功能。
大概是这样的一个过程:
显示一行歌词->暂停1秒->换下一行歌词->暂停1秒->换下一行歌词。。。。

from time import sleep
with open('my way enlish.txt','r',encoding='utf-8') as f:
    words = f.readlines() #words是一个list,每个元素是一行
    #以上只是一个打开文件的方式,下面是本题的具体做法
    for line in words:
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值