1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
def func(filename,old,new):
import os
with open('filename',mode='rt',encoding='utf-8') as f1,\
open('.filename.swap',mode='wt',encoding='utf-8') as f2:
for line in f1:
if old in line:
line = line.replace(old,new)
f2.write(line)
os.remove(filename)
os.rename('.filename.swap',filename)
func('c.txt','amanda','beautiful')
2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def func(n):
d = {
'num':0,'charter':0,'space':0,'others':0}
for i in n:
if i.isdigit():
d['num'] += 1
elif i.isalpha():
d['charter'] +=1
elif i.isspace():
d['space'] +=1
else:
d['others'] +=1
return d
m = func('ada123 wdas2934 e3..!!??')
print(m)
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def func(m):
if isinstance(m, (str, list, tuple)):
if len(m) > 5:
print(True)
else:
print(False)
func('hello world')
func([1, 2, 3])
func((1, 2, 3, 4, 5))
4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def func(*args):
for i in args:
if len(i) > 2:
print(i[0:2])
else:
print(i)
func([1,2,3,4,5,6])
5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def func(n):
return n[::2]
print(func([1,2,3,4,4,5,6,7,]))
print(func((1,2,3,4,5,5,6,7,8,9,)))
6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {“k1”: “v1v1”, “k2”: [11,22,33,44]}
PS:字典中的value只能是字符串或列表
def func(dic):
d = {
}
for k,v in dic.items():
if len(v) > 2:
d[k]=v[0:2]
return d
print(func({
"k1": "v1v1", "k2": [11,22,33,44]}))