Python练习十一
1.写一个程序,提示输入整数X,然后计算从1到X连续整数的和.
num = int(input('please the input number:')) sum_num = 0 for i in range(1, num + 1): sum_num += i print(sum_num)
2.现有两元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]。
tu_1 = (('a'), ('b')) tu_2 = (('c'), ('d')) ret = zip(tu_1, tu_2) # zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 res = map(lambda tup: {tup[0]: tup[1]}, ret) # 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。 print(list(res))
3.用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb。
name = ['alex', 'wupeiqi', 'yuanhao', 'nezha'] ret = map(lambda x: x + '_sb', name) print(list(ret))
4.用filter函数处理数字列表,将列表中所有的偶数筛选出来。
num = [1, 3, 5, 6, 7, 8] ret = filter(lambda number: number % 2 == 0, num) print(list(ret))
5.随意写一个20行以上的文件
运行程序,先将内容读到内存中,用列表存储。
接收用户输入页码,每页5条,仅输出当页的内容。
with open('log', encoding='utf-8') as f: li = f.readlines() page_num = int(input('please the input page_num:')) # 用户输入的页码 pages, mod = divmod(len(li), 5) # 求有多少页,有没有剩余的行数 if mod != 0: # 如果有剩余的行数,那么页数加1 pages += 1 if page_num > pages or page_num <= 0: # 用户输入的页码大于总页数或小于等于0 print('你输入的页码超出范围') elif pages == page_num and mod != 0: # 用户输入的页码是最后一页,且有剩余的行数 for i in range(mod): ret = li[(page_num - 1) * 5 + i].strip() # 只 输出这页上剩余的行数 print(ret) else: for i in range(5): ret = li[(page_num - 1) * 5 + i].strip() print(ret)

更多精彩