Python练习题(day3)

发布时间:2019-09-24 08:26:54编辑:auto阅读(1584)

    一、函数练习题:
    1、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
    2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
    3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
    4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
    6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    PS:字典中的value只能是字符串或列表
    1、
    def change(filename,oldsb,newsb):
            import os
            with open(filename,'r',encoding='utf-8') as read_f,\
                            open('.filename.swap','w',encoding='utf-8') as write_f:
                            for line in  read_f:
                                    if oldsb in line:
                                            line=line.replace(oldsb,newsb)
                                    write_f.write(line)
            os.remove(filename)
            os.rename('.filename.swap','filename')
    change('filename','somebady','sb')
    2、
    def count(str):
            res={
                    'string':0,
                    'num':0,
                    'space':0,
                    'qita':0
            }
            for s in str:
                    if s.isdigit():
                            res['num']+=1
                    elif s.isalpha():
                            res['string']+=1
                    elif s.isspace():
                            res['space']+=1
                    else:
                            res['qita']+=1
            return  res
    res=count('hello world 123 : nihao ? ma ')
    print(res)
    3、
    def long(str):
            if len(str)>5:
                    print('长度大于5')
            else:
                    print('长度小于5')
    res=long('hello')
    4、
    def func1(list1):
            if len(list1)>2:
                    list1=list1[0:2]
            return  list1
    res=func1((1,2,3,4,5))
    print(res)
    5、
    def func2(list2):
            list2=list2[::2]
            return  list2
    res=func2((1,2,3,4,5))
    print(res)
    6、
    def func3(dic1):
            for k,v in dic1.items():
                    if len(v) >2:
                            dic1[k] = v[0:2]
                    return  dic1
    print(func3({'k1':'abcdef','k2':[1,2,3,4],'k3':('a','b','c')}))

关键字