14、作业3月18号
1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
def fanc(path,before,later): import os with open('path','rb')as f1,\ open('b.txt','wb') as f2: for x in f1: f2.write(x.replace(before,later)) os.remove(path) os.rename('b.txt',path) fanc('a.txt','a','b')
2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def count(*args): dic_num=dict{'number':0, 'alpha':0, 'space':0, 'other':0} for n in *args: if n.isdigit(): dic_num['nember']+=1: elif n.isalpha(): dic_num[alpha] += 1: elif n.isspace(): dic_num[space] += 1: else: dic_num[other] += 1: print(dic_num) count(*args)
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def length(user_inp): if len(user_inp) > 5: print('长度大于5') else: print('长度小于5') user_inp = input('请输入:') length(user_inp)
4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def new_list(list1): if len(list1) > 2: list1 = list1[:2] return list1 else: return '列表长度小于2' list1 = [1,2,3] res = new_list(list1) print(res)
5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def new_list(list1): list2 = [] for i,v in enumerate(list1): if i % 2 == 1: list2.append(list1[i]) return list2 list1 = [1,2,3,4] res = new_list(list1) print(res)
6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
def dic_new(dic): for key in dic: if len(dic[key]) > 2: dic[key] = dic[key][:2] return dic dic = {"k1": "v1v1", "k2": [11,22,33,44]} res = dic_new(dic) print(res)