python函数--练习题

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


def modify_file(file_name, content, new_str):
    new_filename = "%sfile_name" % "new."
    new_file = open(new_filename,"a")

    if os.path.exists(file_name):
        with open(file_name, 'r') as f:
            while True:
                line = f.readline()
                if not line:
                    break
                elif content in line:
                    line = line.replace(content, new_str)
                    new_file.write(line)
        new_file.close()
        os.remove(file_name)
        os.rename(new_filename,file_name)
    else:
        print("file not exists!")


modify_file("test.txt",'zxf','888')   # 将test文件内的zxf全部替换成888

2. 写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。

def is_null(obj):
    num = len(obj)
    for i in range(0,num-1):
        if obj[i] == " ":
            print("所传入的对象%s含有空内容" % obj)
            break
    else:
        print("所传入的对象%s不含空内容" % obj)


is_null('[1,2,4,5]')

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

def two_len(obj):
    for key in obj:
        if len(obj[key]) >2:
            obj[key] = obj[key][0:2]
    return obj


dict_new = two_len({"name": "zxf", "age": "23", "sex": "man"})
print(dict_new)

4、写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}

def max_min_dict(*args):
    max_val = max(args)
    min_val = min(args)
    return {"max": max_val, "min": min_val}


print(max_min_dict(22, 33, 2, 21, 3, 4, 77))

5、函数的可变参数(*args和**kwargs)

# *args 和 **kwargs


def fun_parm1(*args):
    """ *args是把多个位置参数打包成元组 """
    print(args)
    print(type(args))


def fun_parm2(a,*args):
    print(a)
    print(args)


def fun_parm3(**kwargs):
    """**kwargs是把多个关键字参数打包成字典"""
    print(kwargs)
    print(type(kwargs))


fun_parm1(1, 2, 3, 4)
fun_parm2(1, 2, 3, 4)
fun_parm3(a=1, b=2, c=3)

 

你可能感兴趣的:(python语言)