1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
import os
def user(name,content,end_content):
with open(name,'r',encoding='utf-8') as f,
open('.name.txt.swp','w',encoding='utf-8') as c1:
for i in f:
if content in i:
i = i.replace(content,end_content)
c1.write(i)
os.remove(name)
os.rename('.name.txt.swp',name)
user('a.txt','123123','alex')
2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def str_num(str_count):
num = 0
str_1 = 0
sp = 0
cou = 0
for i in str_count:
if i.isdigit():
num +=1
elif i.isspace():
sp += 1
elif i.isalpha():
str_1 += 1
else:
cou += 1
print('数字:%s个
字母:%s个
空格:%s个
其他:%s个' %(num,str_1,sp,cou))
str_num('fu385y3u9rafhwovyb 02tp 8y0 1 bro`4u0989*t&t&*y(*1')
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def user_len(obj_len):
if len(obj_len) > 5:
return True
return False
s = (4253,'egrgerg',25,5252,52532,2142)
ret = user_len(s)
print(ret)
4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def user_len(obj_len):
if len(obj_len) > 2:
return obj_len[:2]
else:
return False
ret = user_len([11,1])
print(ret)
5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def user(args):
s = []
for i in range(len(args)):
if i % 2 == 1:
s.append(args[i])
print(s)
s = ['zz','xx','cc','vv','bb','nn','77','88','99']
user(s)
6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
# dic = {"k1": "v1v1", "k2": [11,22,33,44]}
# PS:字典中的value只能是字符串或列表
def valus_obj(args):
for i in args:
if len(args[i]) > 2:
args[i] = args[i][:2]
return args
dic = {"k1": "v1v1", "k2": [11, 22, 33, 44]}
ret = valus_obj(dic)
print(ret)
选做作业:同昨天