写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
def alter_file(file,old,new): import os with open(file,mode='r',encoding='utf-8') as rf,\ open('swap.txt',mode='w',encoding='utf-8') as wf: for line in rf: if old in line: line = line.replace(old,new) wf.write(line) os.remove(file) os.rename('swap.txt',file)alter_file('a.txt','a','L')
写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def check_str(str): num = 0 alp= 0 space = 0 other = 0 for s in str: if s.isdigit(): num+=1 elif s.isalpha(): alp+= 1 elif s.isspace(): space +=1 else: other+=1 return num,alp,space,otherprint(check_str(' hnfkk134,,gh'))#结果:(3, 7, 1, 2)
写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5
def len1(obj): if len(obj)>5: return True else: return Falseprint(len1([1,2,4,'gh',333]))#False
写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def fun1(seq): if len(seq)>2: seq=seq[0:2] return seqprint(fun1([1,2,33,'msj']))#[1, 2]
写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者
def fun2(seq): new = [] for i in range(len(seq)): if i%2 ==1 : new.append(seq[i]) return newprint(fun2((1,2,3,4,5,6,7,8,9,0)))#[2, 4, 6, 8, 0]
6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def fun3(dic): for k in dic: if len(dic[k])>2: dic[k]=dic[k][:2] return dicprint(fun3({ "k1": "v1v1", "k2": [11,22,33,44]}))#{'k1': 'v1', 'k2': [11, 22]}