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)))

posted @ 2019-01-20 17:55  择一事,终一生  阅读(339)  评论(0编辑  收藏  举报