• Python之函数练习题


    一、简述普通参数、指定参数、默认参数、动态参数的区别

    普通参数:就是放入一个形参,当放入实参时,需要按照顺序给形参值。

    指定参数:放入实参时是指定的,不用按照顺序给形参,都能让形参获得相应的参数。

    默认参数:在形参内指定一个参数,需要放在形参的最后面。当实参没有给值时,就默认是形参的值。

    动态参数:格式:*args 和 **kwargs 前面一个保存为元组,后面一个保存为字典。

    二、写函数,计算传入字符串中的【数字】、【字母】、【空格】和【其他】的个数

    #!/bin/bash/env python
    # -*- coding:utf-8 -*-
    #function:写函数,计算传入字符串中的【数字】、【字母】、【空格】和【其他】的个数
    
    def func1(p):
        digit_number = 0
        space_number = 0
        alpha_number = 0
        else_number = 0
        for i in p:
            if i.isdigit():     #检查字符串是否只由数字组成
                digit_number += 1
            elif i.isspace():     #检查字符串是否只由空格组成
                space_number += 1
            elif i.isalpha():   #检查字符串是否只由字母组成
                alpha_number += 1
            else:
                else_number += 1
        return (digit_number,space_number,alpha_number,else_number)
    
    r = func1("qwer  123")
    print(r)
    
    结果:
    (3, 2, 4, 0)
    

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

    #!/bin/bash/env python
    # -*- coding:utf-8 -*-
    #function:写函数,计算传入字符串中的【数字】、【字母】、【空格】和【其他】的个数
    
    def func1(p):
        i1 = len(p)
        print(i1)
        if i1 > 5:
            print('Yes,the length higher than 5')
        else:
            print('NO')
    r = func1((11,22,33))

    结果:

    3
    NO

    四、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容

    #!/bin/bash/env python
    # -*- coding:utf-8 -*-
    #function:写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容
    
    
    def func1(p,q,i):
        if p == "":
            print('字符串有')
        if q == []:
            print('列表有')
        if i == ():
            print("元组有")
    r = func1("123",[11,22],())
    
    结果:
    元组有
    

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

    #!/bin/bash/env python
    # -*- coding:utf-8 -*-
    #function:写函数,检查传入列表的长度,如果大于2,那么仅仅保留前两个长度的内容,并将新内容返回给调用者
    
    def func1(p):
        i1 = len(p)
        if i1 > 2:
            i2 = p[0:2]
        return i2
    
    r = func1([11,22,33,44,55])
    print(r)
    
    结果:
    [11, 22]
    

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

    #!/bin/bash/env python
    # -*- coding:utf-8 -*-
    #function:写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
    
    def func1(p,q):
        result = []
        for i1 in range(len(p)):
            if i1 % 2 == 1:
                result.append(p[i1])
        for i2 in range(len(q)):
            if i2 % 2 == 1:
                result.append(p[i2])
        print(result)
    r = func1([11,22,33],(11,22,33))
    
    结果:
    [22,22]
    

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

    dic = {“k1”: "v1v1","k2":[11,22,33}}

    ps:字典中的value只能是字符串或列表

    #!/bin/bash/env python
    # -*- coding:utf-8 -*-
    #function:检查传入字典的每一个value的长度,如果大于2,那么仅仅保留前两个长度的内容,并将新内容返回给调用者
    
    def func1(**p):
        for key,value in p.items():
    
            if len(value) > 2:
                p[key] = value[0:2]
        return p
    r = func1(k1="v1v1",k2=[11,22,33,44,55])
    print(r)
    
    结果:
    {'k1': 'v1', 'k2': [11, 22]}
    

      

  • 相关阅读:
    被忽视的调试工具Swagger
    MongoDB操作
    js获取当月第一天和最后一天
    vue中 关于$emit的用法
    map和flatmap的区别
    element 的el-dialog 浮层嵌套,第二次弹出的会被遮住
    el-table加背景色
    java 正则表达式匹配
    Python自动化测试 (七)logging 日志模块
    git安装配置与使用
  • 原文地址:https://www.cnblogs.com/caicairui/p/7509477.html
Copyright © 2020-2023  润新知