zoukankan      html  css  js  c++  java
  • 函数参数作业

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

    import os
    
    def batch_alter(*args,**kwargs):
        """
        批量修改文件,使用方法:
        batch_alter("文件名1","文件名2","文件名3",**{"原内容1"="修改后的内容",原内容1"="修改后的内容")
        """
        for file in args:
            des_file=".{}.swap".format(file)
            with open(file,"r",encoding="utf-8") as read_f,
                open(des_file,"w",encoding="utf-8") as write_f:
                for line in read_f:
                    for k in kwargs:
                        if k in line:
                            line=line.replace(k,kwargs[k])
                    write_f.write(line)
            os.remove(file)
            os.rename(des_file,file)
    
    batch_alter("a.txt","b.txt",**{"lisi":"lxx","zhangsan":"wangwu"})

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

    def cal_count(*args):
        """计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数"""
        num=[]
        pha=[]
        sp=[]
        other=[]
        for i in args:
            i=str(i)
            if i.isdigit():
                num.append(i)
            elif i.isalpha():
                pha.append(i)
            elif i == " ":
                sp.append(i)
            else:
                other.append(i)
        print("数字个数:{},字母个数:{},空格个数:{},其他字符个数:{}".format(len(num),len(pha),len(sp),len(other)))

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

    def len_inp(*args):
        for i in args:
            if len(i) < 5:
                print("{}长度小于等于5".format(i))
            elif len(i) == 5:
                print("{}长度等于5".format(i))
            else:
                print("{}长度大于5".format(i))
    len_inp("hello world",[1,2,3],(4,5,6))

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

    def str_extraction(*args):
        for i in args:
            if len(i) > 2:
                print(i[:2])
            else:
                print(i)
    str_extraction([1,2,3],[4,5])

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

    def back_inp(*args):
        l_back=[]
        for i in args:
            for j in range(len(i)):
                if j % 2 == 1:
                    l_back.append(i[j])
        print(l_back)
    back_inp([1,2,3],[4,5],["a","b","c","d","e"])

    6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    PS:字典中的value只能是字符串或列表

    def back_2(**kwargs):
        l_new=[]
        for i in kwargs:
            if len(kwargs[i]) > 2:
                l_new.append(kwargs[i][:2])
    
        print(l_new)
    dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    back_2(**dic)
  • 相关阅读:
    Lucene的分页查询
    Lucene索引库的简单优化
    Lucene的排序搜索
    Axure RP 6.5学习记录(1)界面介绍
    Lucene的高亮器Highlighter
    关于Lucene以及索引和搜索的流程
    Lucene初体验
    linux 下 ansi_x3.41968 java 邮件附件乱码
    SQL Server DBA工作内容详解
    SQL Server 导出 insert into 脚本
  • 原文地址:https://www.cnblogs.com/baicai37/p/12517372.html
Copyright © 2011-2022 走看看