• 3、python--第三天练习题


    #1、简述普通参数、指定参数、默认参数、动态参数的区别
    
    #1.普通参数就是传入的函数,没有默认值
    def f(a):
        a = a + 1
        return a
    print(f(3))
    
    #2.指定参数
    def f(a,b,c):
        d = a + b + c
        return d
    print(f(2,4,5))     #没有指定参数就会按照顺序分别赋值给a,b,c
    print(f(b=3,a=2,c=1))   #指定参数的值,不按照原来的顺序
    
    #3.默认参数
    def f(a,b=3):   #在函数里指定了默认值
        c = a + b
        return c
    print(f(3))     #传参数的时候可以传一个,赋值给a;b就等于原来的值
    print(f(4,7))   #按照顺序赋值,a=4,b=7就被重新赋值
    
    #4.动态参数
    #动态参数 *args和**kwargs 是指当我们需要传入多个参数时,他们就代表多个参数,就不需要在括号里指定多个参数了。
    def f(a,*args,**kwargs):
        print(a,args,type(args),kwargs,type(kwargs))
    
    d=f(22,33,44,k1=55,k2=66)
    
    #2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
    def sum(count):
        number = 0
        string = 0
        space = 0
        other = 0
        for i in count:
            if i.isdigit():
                number += 1
            elif i.isalpha():
                string += 1
            elif i.isspace():
                space += 1
            else:
                other +=1
        return '数字:'+str(number) + ';字母:'+ str(string) + ';空格:'+ str(space) +';其他:' + str(other)
    
    print(sum('my name is fana 1234567'))
    
    #3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
    def sum(string):
        if isinstance(string,(str,tuple,list,dict)):
            if len(string) >= 5:
                return '大于或等于5'
            else:
                return '小于5'
        return None
    
    #4、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。
    def space(args):
        ret = '没有空内容'
        if len(args) == 0:
            ret = '有空内容'
        for a in args:
            if a.isspace():
                ret = '有空内容'
        return ret
    print(space('fan a fan'))
    
    #5、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    def lis(args):
        if len(args) > 2:
            return args[:2]
        if len(args) <= 2:
            return args[0::]
    
    print(lis([1,2]))
    
    #6、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
    def lis(args):
        lis2 = []
        for i in args:
            if args.index(i) % 2 == 1:
                lis2.append(i)
        return lis2
    
    a = [1,2,3,4,5,6,7]
    print(lis(a))
    
    #7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    fana = {"k1": "v1v1", "k2": [11,22,33,44]}
    #PS:字典中的value只能是字符串或列表
    def dic(args):
        dic2 = {}
        for k,v in args.items():
            if len(v) > 2:
                dic2[k] = v[:2]
             else:
                dic2[k] = v
        return dic2
    
    fana = {"k1": "v1v1", "k2": [11, 22, 33, 44]}
    print(dic(fana))
    
  • 相关阅读:
    c++重点笔记2
    c++学习笔记重点1
    创业思路(3) 传统行业与互联网思维
    创业思路(2) 社交
    创业思路(1)
    Asp.Net实现Http长连接推送
    又回来了
    2021.10.23软件更新公告
    2021.10.22软件更新公告
    SharePoint 2013 新特性 (三) 破改式 —— 设计管理器的使用 [2.HTML变身模板页]
  • 原文地址:https://www.cnblogs.com/fan-gx/p/11456131.html
Copyright © 2020-2023  润新知