day14 作业

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

def file_update(name,old_msg,new_msg):
    import os
    with open(f"{name}","r",encoding="utf-8") as f ,
        open(f".{name}.swap","w",encoding="utf-8") as f1:
        for line in f :
            f1.write(line.replace(old_msg,new_msg))
    os.remove(name)
    os.rename(f".{name}.swap",name)
file_update("cvc.txt","a","b")

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

def census(a):
    list1=list(a)
    letter_count=0
    number_count=0
    space_count=0
    else_count=0
    for i in list1:
        if 64<ord(i)<91 or 97<ord(i)<122:
            letter_count+=1
        elif ord(i)==32:
            space_count+=1
        elif 47<ord(i)<58:
            number_count+=1
        else:
            else_count+=1
    print(f"字母个数是:{letter_count}")
    print(f"数字个数是:{number_count}")
    print(f"空格个数是:{space_count}")
    print(f"其他个数是:{else_count-2}")
census("asdasd s++")

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

def long(x):
    print(len(x)>5)
long([11111,222])

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

def list_long_two(a):
    if len(a)>2:
        return a[0:2]
res = list_long_two([2,2,3,3,2,2])
print(res)

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

def update_l_tup(a):
    if type(a)==list or type(a)==tuple:
        new_list = []
        for i in a:
            if  a.index(i)%2==1:
                new_list.append(i)
    else:
        print("非列表类型")
    return new_list
res = update_l_tup([1,2,3,4,5,6,7,8])
print(res)

6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

dic = {"k1": "v1v1", "k2": [11,22,33,44]}
def inspect_value(a):
    for i in a:
        if len(a[i]) > 2:
            a[i] = a[i][0:2]
    return a
res = inspect_value(dic)
print(res)
原文地址:https://www.cnblogs.com/hz2lxt/p/12519638.html