1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
def modify(file_name,old,new):
import os
if not os.path.exists(r'{}'.format(file_name)):
print('你要修改的文件不存在。')
return
with open(r'{}'.format(file_name),'rt',encoding='utf-8') as f1,
open('.a.txt.swap','wt',encoding='utf8') as f2:
for line in f1:
content = line.replace(old,new)
f2.write(content)
os.remove(r'{}'.format(file_name))
os.rename('.a.txt.swap',r'{}'.format(file_name))
2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def count_str(str_1):
if not str_1:
print('字符串不能为空')
return
num_dic = {'number':0,'alphabet':0,'space':0,'others':0}
for i in str_1:
if i.isdigit():num_dic['number'] += 1
elif i.isalpha():num_dic['alphabet'] += 1
elif i.isspace():num_dic['blank'] += 1
else:num_dic['others'] += 1
return num_dic
res = count_str('22eee tyh23-=-=?/@!')
print(res) #{'number': 4, 'alphabet': 6, 'space': 3, 'others': 8}
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def len_morethan_five(my_args):
if type(my_args) not in [str,list,tuple]:
print('传入的对象必须是字符串、列表、元组中的一种。')
return
if len(my_args)>5:
return True
return False
res = len_morethan_five([3,4,5,5,5,5])
print(res)
4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def my_list(my_args):
if not isinstance(my_args,list):
print('必须传入一个列表。')
return
if len(my_args)>2:
return my_args[:2]
else:
return my_args
res = my_list([1,2,3,4])
print(res)
5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def odd_index_list(my_args):
if type(my_args) not in [list,tuple]:
print('必须传入列表或元组。')
return
new_list = []
for i in range(len(my_args)):
if i % 2 == 1:
new_list.append(my_args[i])
return new_list
res = odd_index_list([2,3,4,5,6,7,8,9,10,11])
print(res)
6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
def check_value_len(my_args):
if not isinstance(my_args,dict):
print('必须传入一个字典。')
return
for value in my_args.values():
if type(value) not in [str,list]:
print('字典中的value只能是字符串或列表。')
return
for k,v in my_args.items():
if len(v)>2:
my_args[k] = v[:2]
return my_args
res = check_value_len({"k1": "v1v1", "k2": [11,22,33,44]})
print(res) #{'k1': 'v1', 'k2': [11, 22]}