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

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

    实现效果:

    [root@Kingstar day14]# python practice_1.py 
    请输入要改的内容:憨批
    请输入更改后的内容:逗比  
    请输入你要修改的文件路径:/home/day14/1.txt
    是否继续添加文件路径(y,n):y
    请输入你要修改的文件路径:/home/day14/2.txt
    是否继续添加文件路径(y,n):y
    请输入你要修改的文件路径:/home/day14/3.txt
    是否继续添加文件路径(y,n):n
    [root@Kingstar day14]# cat 1.txt
    上啊,姜春,你这个逗比,还不快上啊!
    上啊,姜春,你这个逗比,还不快上啊!
    上啊,姜春,你这个逗比,还不快上啊!
    上啊,姜春,你这个逗比,还不快上啊!
    上啊,姜春,你这个逗比,还不快上啊!
    上啊,姜春,你这个逗比,还不快上啊!
    上啊,姜春,你这个逗比,还不快上啊!
    上啊,姜春,你这个逗比,还不快上啊!
    上啊,姜春,你这个逗比,还不快上啊!
    上啊,姜春,你这个逗比,还不快上啊!
    [root@Kingstar day14]# cat 2.txt 
    上啊,姜春,你这个逗比,还不快上啊!

    部分实现代码:

    def filechange(*args,**kwargs):
        for item in args:
            with open(item,mode='rb') as f1,
                open(item+'.bak',mode='wb') as f2:
                while True:
                    res = f1.readline().decode('utf-8')
                    if not res:break
                    if kwargs['str_src'] in res:
                        res = res.replace(kwargs['str_src'],kwargs['str_new'])
                    f2.write(res.encode('utf-8'))
            os.remove(item)
            os.rename(item+'.bak',item)

    filechange(*file_list,**change)

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

    实现效果:
    [root@Kingstar day14]# python practice_2.py 
    请输入待检测的字符串:  wcdgfsdf 123  456
    +----------+----------+
    | 字符类型 | 统计个数 |
    +----------+----------+
    |  number  |    6     |
    |  letter  |    8     |
    |  space   |    3     |
    |  other   |    0     |
    +----------+----------+
    [root@Kingstar day14]# 

    部分代码:

    def count(*args):
        count_dict = {'number':0,'letter':0,'space':0,'other':0}
        for item in args:
            if item.isdigit():
                count_dict['number'] += 1
            elif item.isalpha():
                count_dict['letter'] += 1
            elif item.isspace():
                count_dict['space'] += 1
            else:
                count_dict['other'] += 1
        return count_dict
    check_str = input('请输入待检测的字符串:').strip()
    count_d = count(*check_str)
    3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
    实现效果:
    [root@Kingstar day14]# python practice_3.py 
    长度<5:{'name': 'egon', 'age': 18}
    长度=5:(3, 4, 5, 6, 7)
    长度>5:[1, 2, 3, 4, 5, 6]
    [root@Kingstar day14]# 

    部分代码:

    def checklen(*args):
        more_len = []
        eql_len = []
        less_len = []
        for item in args:
            if len(item) > 5:
                more_len.append(item)
            elif len(item) == 5:
                eql_len.append(item)
            elif len(item) < 5:
                less_len.append(item)
    
        return less_len,eql_len,more_len

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

    实现效果:

    [root@Kingstar day14]# python practice_4.py 
    [[1, 2], [5, 6], [1], [7, 8]]
    [root@Kingstar day14]# 

    部分代码:

    def list_handle(*args):
        re = []
        for item in args:
            if len(item) > 2:
                re.append(item[:2:])
            else:re.append(item)
        return re
    re = list_handle([1,2,3,4],[5,6],[1,],[7,8,9])
    5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
    实现效果:
    [root@Kingstar day14]# python practice_5.py 
    [[2, 4], ['tank']]
    [root@Kingstar day14]# 

    部分代码:

    def handle(*args):
        re = []
        for item in args:
            item_new = [item[i] for i in range(len(item)) if i%2 == 1]
            re.append(item_new)
        return re
     re = handle([1,2,3,4,5],['egon','tank','alex'])
    6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    PS:字典中的value只能是字符串或列表
    实现效果:
    [root@Kingstar day14]# python practice_6.py 
    {'K1': 'v1', 'k2': [11, 22]}
    [root@Kingstar day14]# 

    部分代码:

    def check_dict(**kwargs):
        for k,v in kwargs.items():
            if len(v) > 2:
                kwargs[k] = kwargs[k][:2:]
        return kwargs
     re_dict = check_dict(**{'K1':'v1v1','k2':[11,22,33,44]})
  • 相关阅读:
    算法之顺序、二分、hash查找
    基本数据结构-顺序表和链表!!!
    Deque的应用案例-回文检查
    基本数据结构-双端队列(Deque)
    队列的应用案例-烫手的山芋
    基本数据结构-队列
    基本数据结构-栈
    python中列表,字典,字符串常用操作
    flask中request请求中各种传参
    HTTP请求向服务器传参方式
  • 原文地址:https://www.cnblogs.com/surpass123/p/12518870.html
Copyright © 2011-2022 走看看