zoukankan      html  css  js  c++  java
  • 15

    # 1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
    def change_file(file_path, old, new):
        '''
        :param file_path: 修改的文件路径
        :param old: 要修改的内容
        :param new: 修改后的内容
        :return:
        '''
        list1 = []
        with open(file_path, 'r', encoding='utf-8') as f:
            # 如果文件比较大的时候,用for循环一行一行读取更好
            for line in f:
                line = line.replace(old, new)  # old:tank3,  new: egon
                list1.append(line)
    
        # 执行到此处,操作系统已经回收打开文件的资源
        with open(file_path, 'w', encoding='utf-8') as f:
            for line in list1:
                f.write(line)
    
    
    # change_file('test.txt', 'tank1', 'egon')
    
    # 2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
    def count(str1):
        '''
        :param str1: 外部传入的字符串,字符串由数字、字母、空格、其他字符组成
        :return:
        '''
        # 1) 初始化每种字符类型的个数
        dic = {
            'number': 0,  # 数字个数
            'letters': 0,  # 字母个数
            'blank': 0,  # 空格个数
            'other': 0,  # 其他个数
        }
    
        # 2) 循环遍历,检测每个字符的类型,并为其添加个数
        for line in str1:  # a123
            # 3) 判断字符串是否是数字、字母、空格、其他
            if line.isdigit():
                dic['number'] += 1
    
            elif line.isalpha():  # 判断line是否是字母
                dic['letters'] += 1
    
            # elif line == ' ':
            elif line.isspace():  # 判断是否是空格
                dic['blank'] += 1
    
            else:
                dic['other'] += 1
    
        return dic
    
    
    # res = count('tank 123 egon_sb 321 !@@#¥%(())**&%……¥')
    # print(res)
    
    
    # 3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
    def check_length(str_list_tuple):
        if len(str_list_tuple) > 5:
            print(f'{str_list_tuple}的长度大于5')
    
        else:
            print('太短了,不行!')
    
    
    # check_length('egon_sb_10')
    
    # 4、写函数,检查传入列表的长度,如果大于2,
    # 那么仅保留前两个长度的内容,并将新内容返回给调用者。
    def check_list(list1):
        # len: 用于获取所有 "序列" 类型的长度
        # 序列: str, list, tuple, set
        if len(list1) > 2:
            return list1[:2]  # 0,1
    
    
    # res = check_list(['tank', 'egon_sb', 'egon'])
    # print(res)
    
    # 5、写函数,检查获取传入列表或元组对象的
    # 所有 "奇数位索引" 对应的元素,并将其作为新列表返回给调用者。
    def get_odd_element(list_tuple):
        #    [1, 2, 3, 4, 5, 6]
        # 索引: 0  1  2  3  4  5
        return list_tuple[1::2]
    
    
    # res = get_odd_element([1, 2, 3, 4, 5, 6])
    # print(res)
    
    # 6、写函数,检查字典的每一个value的长度,如果大于2,
    # 那么仅保留前两个长度的内容,并将新内容返回给调用者。
    # dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    # PS:字典中的value只能是字符串或列表
    def check_dict(dic):
        for key, value in dic.items():
            if len(value) > 2:
                dic[key] = value[:2]  # 0, 1
    
        return dic
    
    
    dic = {"k1": "v1v1", "k2": [11, 22, 33, 44]}
    
    res = check_dict(dic)
    print(res)
  • 相关阅读:
    ECharts
    JavaScript实现数组去重方法
    面试题1
    Vue中的8种组件通信方式
    渐进式web应用 (PWA)
    单元测试(Jest 和 Mocha)
    axios
    Vue Router
    Vuex
    hash 模式与 history 模式小记
  • 原文地址:https://www.cnblogs.com/2722127842qq-123/p/13449171.html
Copyright © 2011-2022 走看看