作业 3/18

1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作

def replace1(path,txt_source,txt_aim):
    import os
    with open(r'{}'.format(path),'r',encoding='utf-8') as f:
        l = f.read()
        l1 = l.replace(txt_source,txt_aim)
    with open(r'{}'.format(path),'w',encoding='utf-8') as f1:
        f1.write(l1)
replace1('users.txt','#','1')

2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数

def counts(l):
    l1 = ['数字','字母','空格','其它']
    d = {}.fromkeys(l1,0)
    print(d)
    for i in l:
        if i.isdigit():
            d['数字'] += 1
        elif i.isalpha():
            d['字母'] += 1
        elif i == ' ':
            d['空格'] += 1
        else:
            d['其它'] += 1
    return d
res = counts('12333fffffff344   fff$%%$')
print(res)

3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

def len_bigger(l):
    if len(l) > 5:
        return True
    else:
        return False
res = len_bigger((1,1,2,2,2,2,2,2,5,5,5555555555555555555555555))
print(res)

4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

def l_func(l):
    if type(l) == list:
        if len(l) > 2:
            return l[0:2]
l1 = l_func([1,2,3])
print(l1)

5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

def check_l(l):
    ll = []
    if type(l) == list or type(l) == tuple:
        for i in range(0,len(l)):
            if i % 2 == 1:
                ll.append(l[i])
        return ll
lll = check_l([1,1,1,1,1,1,5])
print(lll)

6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。PS:字典中的value只能是字符串或列表

dic = {"k1": "v1v1", "k2": [11,22,33,44]}
def dic_check(d):
    l1 = []
    for i in d.values():
        if type(i)  == str or type(i) == list:
            if len(i) > 2:
                l1.append(i[0:2])
    return l1
l = dic_check(dic)
print(l)
原文地址:https://www.cnblogs.com/pythonwl/p/12518548.html