zoukankan      html  css  js  c++  java
  • 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)
    
  • 相关阅读:
    uva 11294 Wedding
    uvalive 4452 The Ministers’ Major Mess
    uvalive 3211 Now Or Later
    uvalive 3713 Astronauts
    uvalive 4288 Cat Vs. Dog
    uvalive 3276 The Great Wall Game
    uva 1411 Ants
    uva 11383 Golden Tiger Claw
    uva 11419 SAM I AM
    uvalive 3415 Guardian Of Decency
  • 原文地址:https://www.cnblogs.com/yding/p/12520043.html
Copyright © 2011-2022 走看看