一、函数练习题:
1、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
1、
def change(filename,oldsb,newsb):
import os
with open(filename,'r',encoding='utf-8') as read_f,\
open('.filename.swap','w',encoding='utf-8') as write_f:
for line in read_f:
if oldsb in line:
line=line.replace(oldsb,newsb)
write_f.write(line)
os.remove(filename)
os.rename('.filename.swap','filename')
change('filename','somebady','sb')
2、
def count(str):
res={
'string':0,
'num':0,
'space':0,
'qita':0
}
for s in str:
if s.isdigit():
res['num']+=1
elif s.isalpha():
res['string']+=1
elif s.isspace():
res['space']+=1
else:
res['qita']+=1
return res
res=count('hello world 123 : nihao ? ma ')
print(res)
3、
def long(str):
if len(str)>5:
print('长度大于5')
else:
print('长度小于5')
res=long('hello')
4、
def func1(list1):
if len(list1)>2:
list1=list1[0:2]
return list1
res=func1((1,2,3,4,5))
print(res)
5、
def func2(list2):
list2=list2[::2]
return list2
res=func2((1,2,3,4,5))
print(res)
6、
def func3(dic1):
for k,v in dic1.items():
if len(v) >2:
dic1[k] = v[0:2]
return dic1
print(func3({'k1':'abcdef','k2':[1,2,3,4],'k3':('a','b','c')}))