作业10
1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
import os
def alter(file,old_str,new_str):
with open(file, "r", encoding="utf-8") as f1, open("{}".format(file), "w", encoding="utf-8") as f2:
for line in f1:
if old_str in line:
line = line.replace(old_str, new_str)
f2.write(line)
os.remove(file)
os.rename("{}".format(file), file)
alter('file1','zc','牛逼')
2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def num(str1):
a = b = c = d = 0
for i in str1:
if i.isdigit():
a += 1
elif i.isalpha():
b += 1
elif i.isspace():
c += 1
else:
d += 1
print("数字{}个,字母{}个,空格{}个,其他字符{}个".format(a,b,c,d))
num(input("请输入一个字符串:"))
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def is_len(c):
if len(c)>5:
return True
else:
return False
a='abvncm'
b=['a','b','c','d']
c=(1,2,3,4)
print(is_len(a))
print(is_len(b))
print(is_len(c))
4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def two_len(**kwargs):
for k, v in kwargs.items():
if len(v) > 2:
kwargs[k] = v[:2]
return kwargs
print(two_len(x='12', y='345', c='byw'))
5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def num(x):
list=[]
for line in x:
if line % 2==1:
list.append(line)
return list
c=num([11,22,33,44,55,66])
print(c)
6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
def func3(dic):
a={}
for k,v in dic.items():
if len(v) > 2:
a[k]=v[0:2]
return a
print(func3({'k1':'abc','k2':[1,2,3],'k3':('a','c')}))

浙公网安备 33010602011771号