作业03.18
1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
def file_modified(file_name,content_1,content_2):
'''修改文件内容,file_name文件名,content_1文件修改前的内容,content_2文件修改后的内容'''
import os
with open(rf'{file_name}',mode='rt',encoding='utf-8') as f,\
open(rf'{file_name}.swap',mode='wt',encoding='utf-8') as f1:
for i in f:
res=i.replace(f'{content_1}',f'{content_2}')
f1.write(res)
os.remove(f'{file_name}')
os.rename(f'{file_name}.swap',f'{file_name}')
file_modified('a.txt','啊啊','哇哈哈')
2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def num_1(s):
num=0
letter=0
blank=0
other=0
for i in s:
if i.isdigit():
num+=1
elif i.isalpha():
letter+=1
elif i.isspace():
blank+=1
else:
other+=1
print(f'''
数字:{num}个
字母:{letter}个
空格:{blank}个
其他:{other}个''')
a="fd s '\ 1 '2 ,2 2f f`~+-*// ds"
num_1(a)
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def len_1(l):
if len(l)>=5:
print('是')
else:
print('否')
a={'a':1,'b':3,'v':4,}
len_1(a)
4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def len_2(z,x,*args):
print(*args)
a=['a','b','c','e','t','g']
len_2(*a)
5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def odd_num(l):
'''检查从传入名称的列表的奇数索引元素返回给调用者'''
l1=[]
for i in l[1::2]:
l1.append(i)
print(l1)
ass=[1,2,3,4,5,8,7,9,5,74,8,1,4,4]
odd_num(ass)
6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
def modify_dict(d):
for i in d:
res=d[i][:2]
d[i]=res
print(d)
modify_dict(dic)