zoukankan      html  css  js  c++  java
  • 函数练习

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-  
    # by wk
    
    '''
    1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
    2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
    3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
    4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
    6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    PS:字典中的value只能是字符串或列表
    '''
    
    import os
    
    
    # 第一题
    def update_file(old, new):
        with open('test.txt', 'r', encoding='utf8') as read_f, open('test_new.txt', 'w', encoding='utf8') as write_f:
            for line in read_f:
                if old in line:
                    line = line.replace(old, new)
                write_f.write(line)
        os.remove('test.txt')
        os.rename('test_new.txt', 'test.txt')
        print('update success')
    
    
    # 第二题
    def count_enter(mystrings):
        count = 0
        mystring_list = [0, 0, 0, 0]
        for mystring in mystrings:
            if mystring.isdigit():
                mystring_list[0] += 1
            elif mystring.isalpha():
                mystring_list[1] += 1
            elif mystring.isspace():
                mystring_list[2] += 1
            else:
                mystring_list[3] += 1
    
        print('num is %s, letter is %s, Space is %s, Other is %s' % (
            mystring_list[0], mystring_list[1], mystring_list[2], mystring_list[3]))
    
    
    # 第三题
    def check_len(mystrings):
        if type(mystrings) == str:
            if len(mystrings) > 5:
                print('this is str and len > 5')
            else:
                print('this is str but len =< 5')
        elif type(mystrings) == list:
            if len(mystrings) > 5:
                print('this is list and len > 5')
            else:
                print('this is list but len =< 5')
        elif type(mystrings) == tuple:
            if len(mystrings) > 5:
                print('this is tuple and len > 5')
            else:
                print('this is tuple but len =< 5')
    
    
    # 第四题
    def check_list_len(mystrings):
        if len(mystrings)>2:
            print(mystrings[0:2])
        else:
            print(mystrings)
    
    
    # 第五题
    def check_odd(mystrings):
        i = 0
        new_mystrings = []
        while True:
            if i > len(mystrings)-1:
                break
            new_mystrings.append(mystrings[i])
            i += 2
        print(new_mystrings)
    
    
    #第六题
    def my_dic(mylendict):
        new_mydict = {}
        print(type(mylendict))
        for lenv in mylendict:
            if len(mylendict[lenv]) > 2:
                new_mydict[lenv] = mylendict[lenv][0:2]
            else:
                new_mydict[lenv] = mylendict[lenv]
        print(new_mydict)
    
    
    if __name__ == '__main__':
        update_file('a', 'b')
        count_enter('asdasda123   @#$$')
        check_len([1, 2, 3, 4, 5])
        check_len((1, 2, 3, 4, 5, 6))
        check_len('aaaaaaaaaa')
        check_list_len(['a',1,2,'b','c',6])
        check_odd(['a',3,6,'g',5])
        dic = {"k1": "v1v1", "k2": [11, 22, 33, 44]}
        my_dic(dic)
  • 相关阅读:
    java中this关键字
    java继承
    java super关键字
    java String类型存储详解
    java四种访问权限修饰符
    C/C++语言void及void指针深层探索【转】
    Linux Epoll介绍和程序实例【转】http://blog.csdn.net/sparkliang/article/details/4770655
    服务器与wp7的socket通信【转】 http://www.cnblogs.com/linzheng/archive/2011/06/21/2086456.html
    android关于socket编程,以聊天为例【转】http://hi.baidu.com/yaoyuanhuajx/item/9b93d7565f315ba9acc857d7
    Tesseract 3 语言数据的训练方法【转】http://blog.csdn.net/dragoo1/article/details/8439373
  • 原文地址:https://www.cnblogs.com/godspeed034/p/7245652.html
Copyright © 2011-2022 走看看