# 1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
# file_path: /python相关/python_files/01 python班级/python14期/作业讲解/day13/test.txt
import os
#定义函数
def change_file(file_path,old,new):
list1 = []
# 先将文件中所有的数据一行一行读取出来
# 注意: 不要同时操作同一个文件
with open(file_path,"r",encoding="utf-8")as f:
for linein f:
line = line.replace(old,new)
list1.append(line)
with open(file_path,"w",encoding="utf-8")as w:
w.write(line)
#函数调用
change_file("user.txt","alex","egon")
# 2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
#定义函数
def count(*args):
dic = {"num":0,"letter":0,"space":0,"other":0}
for iin args:
if i.isdigit():
dic["num"] +=1
elif i.isalpha():
dic["letter"] +=1
elif i.isspace():
dic["space"] +=1
else:
dic["other"] +=1
return dic
dic = count("123 ", "abcd", "$%^")
print(dic)
# 3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def inp_len(a,b=5):
if a > b:
print("大于5")
elif a < b:
print("小于5")
inp_len(7)
# 4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,
# 并将新内容返回给调用者。
def inp_len(l):
if type(l) ==list:
if len(l) >2:
return l[0:2]
res = inp_len([11,22,33])
print(res)
# 5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,
# 并将其作为新列表返回给调用者。
def element(*args):
l = []
for iin range(0,len(l)):
if i %2 ==1:
l.append(i)
return l
res = element([1,3,5,7])
print(res)
# 6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,
# 并将新内容返回给调用者。
# PS:字典中的value只能是字符串或列表
dic = {"k1":"v1v1", "k2": [11,22,33,44]}
def va_len(**kwargs):
for k,vin kwargs.items():
if len(v) >2:
kwargs[k]= v[0:2]
return kwargs
dic = va_len(**dic)
print(dic)