zoukankan      html  css  js  c++  java
  • Python之简单函数练习(Day30)

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

    def modify_file(filename,old,new):
        import os
        with open(filename,'r',encoding='utf-8') as read_f,
            open('.bak.swap','w',encoding='utf-8') as write_f:
            for line in read_f:
                if old in line:
                    line=line.replace(old,new)
                write_f.write(line)
        os.remove(filename)
        os.rename('.bak.swap',filename)
    
    modify_file('/Users/jieli/PycharmProjects/爬虫/a.txt','alex','SB')

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

    def check_str(msg):
        res = {
            'num':0,
            'zimu':0,
            'space':0,
            'other':0
        }
        for i in msg:
            if i.isdigit():
                res['num'] += 1
            elif i.isalpha():
                res['zimu'] += 1
            elif i.isspace():
                res['space'] +=1
            else:
                res['other'] += 1
        return  res
    res = check_str('hello name:aSB passowrd:alex3714')
    print(res)

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

    def the_length(s):
        if len(s) > 5:
            return True
        else:
            return False
    print(the_length('andahdasdd'))
    print(the_length([1,3,4,5]))
    print(the_length((1,'a',3,[2,6,7])))

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

    def func(li):
        if len(li) > 2 :
            return li[0:2]
        else:
            return li
    
    li=func([1,3,455,6,7,2,5,])
    print(li)

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

    def func2(li):
        new = li[1::2]
        return new
    print(func2([1,3,4,'5',6,33]))

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

    def func3(dic):
        d={}
        for k,v in dic.items():
            if len(v) > 2:
                d[k]=v[0:2]
        return d
    print(func3({'k1':'v1v1','k2':[11,22,33,44],}))
    有一种能力,是持续不断的努力
  • 相关阅读:
    Struts2 语法--action
    react ref获取dom对象
    react 简单的用函数调出ui显示
    express.js graphql express-graphql
    Nestjs 增加全局前缀
    react使用BrowserRouter打包后,刷新页面出现404
    在node环境使用axios发送文件
    Nest js 使用axios模块
    Flutter For Web
    css实现开关效果
  • 原文地址:https://www.cnblogs.com/shaojiafeng/p/7413076.html
Copyright © 2011-2022 走看看