Python练习题

内置函数

# 5.随意写一个20行以上的文件
# 运行程序,先将内容读到内存中,用列表存储。
# 接收用户输入页码,每页5条,仅输出当页的内容

def user_check(filename,num=5):
with open(file=filename,encoding='utf-8') as f:
l = f.readlines()
page_num,sy_page=divmod(len(l),num)
if sy_page:
page_num= page_num + 1
while True:
user_page=int(input('请输入页码:'))
if user_page <=0 or user_page > page_num:
print('请输入正确的页码')
continue
view_start = (user_page-1)*num
view_end = view_start +num
for line in l[view_start:view_end]:
print(line.strip()) user_check('file')

匿名函数

1.下面程序的输出结果是:
d = lambda p:p*2
t = lambda p:p*3
x = 2
x = d(x)
x = t(x)
x = d(x)
print x# 24 2.现有两元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]
ret = max(dic,key=lambda k:dic[k])
3.以下代码的输出是什么?请给出答案并解释。
def multipliers():
return [lambda x:i*x for i in range(4)]
print([m(2) for m in multipliers()])
请修改multipliers的定义来产生期望的结果。
[6, 6, 6, 6]
4: 用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb
name=['alex','wupeiqi','yuanhao','nezha']
# def func(x):
# return x+'_sb'
ret = list(map(lambda x:x+'_sb',name))
print(ret)

5: 用filter函数处理数字列表,将列表中所有的偶数筛选出来

num = [1,3,5,6,7,8]

num = [1,3,5,6,7,8]
print(list(filter(lambda x:x%2==0,num)))
上一篇:小A与小B-(双向bfs)


下一篇:Blend4精选案例图解教程(一):丰富的形状(Shape)资源