zoukankan      html  css  js  c++  java
  • python学习之函数的参数作业

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

    def modify(file_name,old,new):
        import os
        if not os.path.exists(r'{}'.format(file_name)):
            print('你要修改的文件不存在。')
            return
        with open(r'{}'.format(file_name),'rt',encoding='utf-8') as f1,
            open('.a.txt.swap','wt',encoding='utf8') as f2:
            for line in f1:
                content = line.replace(old,new)
                f2.write(content)
        os.remove(r'{}'.format(file_name))
        os.rename('.a.txt.swap',r'{}'.format(file_name))
    

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

    def count_str(str_1):
        if not str_1:
            print('字符串不能为空')
            return
        num_dic = {'number':0,'alphabet':0,'space':0,'others':0}
        for i in str_1:
            if i.isdigit():num_dic['number'] += 1
            elif i.isalpha():num_dic['alphabet'] += 1
            elif i.isspace():num_dic['blank'] += 1
            else:num_dic['others'] += 1
        return num_dic
    
    res = count_str('22eee   tyh23-=-=?/@!')
    print(res)    #{'number': 4, 'alphabet': 6, 'space': 3, 'others': 8}
    

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

    def len_morethan_five(my_args):
        if type(my_args) not in [str,list,tuple]:
            print('传入的对象必须是字符串、列表、元组中的一种。')
            return
        if len(my_args)>5:
            return True
        return False
    
    res = len_morethan_five([3,4,5,5,5,5])
    print(res)
    

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

    def my_list(my_args):
        if not isinstance(my_args,list):
            print('必须传入一个列表。')
            return
        if len(my_args)>2:
            return my_args[:2]
        else:
            return my_args
    
    res = my_list([1,2,3,4])
    print(res)
    

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

    def odd_index_list(my_args):
        if type(my_args) not in [list,tuple]:
            print('必须传入列表或元组。')
            return
        new_list = []
        for i in range(len(my_args)):
            if i % 2 == 1:
                new_list.append(my_args[i])
        return new_list
    
    res = odd_index_list([2,3,4,5,6,7,8,9,10,11])
    print(res)
    

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

    dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    PS:字典中的value只能是字符串或列表

    def check_value_len(my_args):
        if not isinstance(my_args,dict):
            print('必须传入一个字典。')
            return
        for value in my_args.values():
            if type(value) not in [str,list]:
                print('字典中的value只能是字符串或列表。')
                return
        for k,v in my_args.items():
            if len(v)>2:
                my_args[k] = v[:2]
        return my_args
    
    res = check_value_len({"k1": "v1v1", "k2": [11,22,33,44]})
    print(res)   #{'k1': 'v1', 'k2': [11, 22]}
    
  • 相关阅读:
    excel多个sheet表拆分成独立的excel文件
    mysql导入报错【The MySQL server is running with the --event-scheduler=DISABLED】
    nginx环境下配置nagios-关于perl-fcgi.pl
    nginx环境下配置nagios-关于commands.cfg
    Linux非常有用的命令
    windows和linux下如何远程获取操作系统版本和主机名
    tomcat生成调试日志配置
    python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)
    python批量操作Linux服务器脚本,key登录(执行命令、上传、下载)(二)
    DOS批量拷贝本地目录到远程主机(定时执行)
  • 原文地址:https://www.cnblogs.com/leilijian/p/12521068.html
Copyright © 2011-2022 走看看