zoukankan      html  css  js  c++  java
  • 作业10

    作业10

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

    import os
    
    
    def modify(file, old_str, new_str):
        with open(file, "r", encoding="utf-8") as f1, 
                open("{}.swap".format(file), "w", encoding="utf-8") as f2:
            for line in f1:
                line = line.replace(old_str, new_str)
                f2.write(line)
        os.remove(file)
        os.rename("{}.swap".format(file), file)
    
    
    # modify("课程代码.py","嘟嘟喂嘟嘟","#")
    

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

    def all_count(inp_str):
        dic = {"digit": 0, "alpha": 0, "space": 0, "else": 0}
        for i in inp_str:
            if i.isdigit():
                dic["digit"] += 1
            elif i.isalpha():
                dic["alpha"] += 1
            elif i.isspace():
                dic["space"] += 1
            else:
                dic["else"] += 1
        return dic
    
    
    # print(all_count("asdsssdddaaa@#%^123412    "))
    

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

    def moni(obj):
        print(len(obj)>5)
    
    # moni([3,4,5])
    # moni("24fsd")
    # moni((1,2,4,5,7,6))
    

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

    # print(type([1]) is list)
    
    def cut_list(lis):
        if type(lis) is list:
            if len(lis) > 2:
                lis = lis[0:2]
                return lis
            else:
                return lis
        else:
            return "不是列表"
    
    # print(cut_list([32,5,3,346,]))
    

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

    def odd_list(obj):
        if type(obj) is list or type(obj) is tuple:
            return list(obj[1::2])
        else:
            return "不是列表和元组"
    
    # print(odd_list([1,2,3,4,5,6,7]))
    # print(odd_list((1,2,3,4,5,6,7,8)))
    # print(odd_list("1234567"))
    

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

    dic = {"k1": "v1v1", "k2": [11,22,33,44]}

    PS:字典中的value只能是字符串或列表

    def cut_value(dic):
        if type(dic) is dict:
            for k,v in dic.items():
                if type(v) is str or type(v) is list:
                    if len(v)>2:
                        dic[k]=v[:2]
                else:
                    print("字典内含非字符串和列表的元素")
                    break
            else:
                return dic
        else:
            print("不是字典")
    
    dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    print(cut_value(dic))
    print(cut_value([1,2,3,54,6]))
    print(cut_value({"k1": "v1v1", "k2": (11,22,33,44)}))
    
  • 相关阅读:
    python之字典
    Python包管理工具
    【转】Python实现修改Windows CMD命令行输出颜色(完全解析)
    进程池中传递实例方法问题
    HTML协议详解
    【转】python数据格式化之pprint
    【转】Python装饰器与面向切面编程
    【转】TCP/IP报文格式
    python之线程学习
    python之面向对象
  • 原文地址:https://www.cnblogs.com/achai222/p/12517458.html
Copyright © 2011-2022 走看看