• day14作业


    # 1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
    def func():
        import os
        file_name = input("请输入文件名称:").strip()
        data1 = input("请输入要修改的原内容:").strip()
        data2= input("请输入修改后的新内容:").strip()
        with open(file_name,mode='rt',encoding='utf-8')as f1:
            with open('new.txt', mode='wt', encoding='utf-8')as f2:
                for line in f1.readlines():
                    res = line.strip().replace(data1,data2)
                    f2.write('{}
    '.format(res))
        os.remove(file_name)
        os.rename('new.txt',file_name)
    
    # 2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
    def f1(data):
        if type(data).__name__ == 'str':
            dic = {'数字':0,'字母':0,'空格':0,'其他':0}
            res = str(data)
            for i in res:
                if i.isdigit():
                    dic['数字'] += 1
                elif i.isspace():
                    dic['空格'] += 1
                elif i.isalpha():
                    dic['字母'] += 1
                else:
                    dic['其他'] += 1
            print(dic)
    f1('hnd9y327asbsdao-*/ -naljsdn')
    
    # # 3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
    def f2(obj):
        if type(obj).__name__ == 'str' or type(obj).__name__ == 'list' or type(obj).__name__ == 'tuple':
            if len(obj) > 5:
                print(f'{obj}的长度大于5')
            else:
                print(f'{obj}的长度小于等于5')
    f2([1,2])
    f2(123456) # 无结果
    
    # # 4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    def f3(obj): # 只能传入可迭代类型
        if type(obj).__name__ == 'list':
            info = []
            if len(obj) > 2:
                info.append(obj.pop(0))
                info.append(obj.pop(0))
                return info
    res1 = f3(1)
    res2 = f3(['1ada',123,567])
    print(res1,res2)
    
    # 5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
    def f4(l):
        if type(l).__name__ == 'list' or type(l).__name__ == 'tuple':
            l1 = []
            count = 0
            while count < len(l):
                if count % 2 ==1 :
                    l1.append(l[count])
                    count+=1
                else:
                    count+=1
            return l1
    res = f4([1,2,3,4,5,6,7])
    print(res)
    
    # 6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    # dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    # PS:字典中的value只能是字符串或列表
    def f5(dic):
        if type(dic).__name__ == 'dict':
            for i in dic:
                if len(dic[i]) > 2:
                    if type(dic[i]).__name__ == 'list' or type(dic[i]).__name__ == 'str':
                        dic[i] = dic[i][0:2]
            return dic
    res = f5({"k1": "v1v1", "k2": [11,22,33,44]})
    print(res)
    
  • 相关阅读:
    深入学习Spring框架(四)- 事务管理
    深入学习Spring框架(三)- AOP面向切面
    深入学习Spring框架(二)- 注解配置
    深入学习Spring框架(一)- 入门
    深入学习Mybatis框架(二)- 进阶
    深入学习Mybatis框架(一)- 入门
    短uuid生成
    from __future__ import division
    django-orm 快速清理migrations缓存
    Ajax请求设置csrf_token
  • 原文地址:https://www.cnblogs.com/yding/p/12520043.html
Copyright © 2020-2023  润新知