#1.检查获取传入列表或元组的对象的所有奇数位索引对应的元素,并返回给调用者。
def func(l1):
return l1[1::2] #切片
print(func([1,2,3,4,5]))
#2.写函数,判断用户传入对象(字符串,列表,元组)长度是否大于5。
def func1(l2):
return len(l2)>5
print(func1([1,2,3,4,5,6]))
#3.写函数,检查传入列表的长度。如果大于2,保留前两个长度内容,并将新内容返回给调用者。
def func2(l3):
if len(l3)>2:
return l3[:2]
print(func2([1,2,3,4,5]))
#4.写函数,计算传入字符串【数字】、【字母】、【空格】以及【其他】的个数,并返回结果。
def func3(l4):
dic = {'num':0,'alpha':0,'space':0,'other':0}
for i in l4:
if i.isdigit():
dic['num'] += 1
elif i.isalpha():
dic['alpha'] += 1
elif i.isspace():
dic['space'] += 1
else:
dic['other'] += 1
return dic
print(func3('+1231dfafa -123 ='))
#5、写函数,检查用户传入对象(字符串,列表,元组)的每一个元素是否含有空内容,并返回结果。
def func4 (l5):
if type(l5) is str and l5:
for i in l5:
if i == ' ':
return True
elif l5 and type(l5) is list or type(l5) is tuple:
for i in l5:
if not i:
return True
elif not l5:
return True
print(func4('abc'))
#6丶写函数,检查传入字典的每一个value的长度,如果大于2,那么保留前两个长度的内容,并将新内容返回给调用者。
# dic = {'k1':'v1v1','k2':[11,22,33,44]}
# ps:字典中的value只能是字符串或者列表
def func5(dic):
for k in dic:
if len(dic[k]) >2:
dic[k] = dic[k][:2]
return dic
dic = {'k1':'v1v1','k2':[11,22,33,44]}
print(func5(dic))
#7丶写函数,接受两个数字参数,返回比较大的那个数字
def func6(a,b):
c = a if a>b else b #三元运算
return c
print(func6(6,9))
#8丶写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作。
def func7(filename,old,new):
with open(filename,encoding='utf-8') as f ,open('%s.bak'%filename,'w',encoding='utf-8') as f2:
for line in f:
if old in line:
line = line.replace(old,new)
#写文件
f2.write(line)
import os
os.remove(filename)#删除文件
os.rename('%s.bak'%filename,filename)#重命名文件
func7('log','LOWOW','--LOWOW--')