zoukankan      html  css  js  c++  java
  • 作业题,函数

    1.写函数,计算传入字符串中数字、字母、空格以及其他的个数

    usr_input=str(input('>>>'))
    def contstr(args):
        digit=0
        space=0
        alpha=0
        other=0
        for word in args:
            if word.isdigit():
                digit+=1
            if word.isspace():
                space+=1
            if word.isalpha():
                alpha+=1
            else:
                other+=1
        print('digit:',digit,'space:',space,'alpha:',alpha,'other:',other)
    contstr(usr_input)

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

    usr_input=123#输入任意值
    def abc(type):
        def bcd(changdu):#函数嵌套
            if len(changdu)>5:
                b='长度大于5'
                return b#弄明白了返回值怎么用
            else:
                b = '长度不大于5'
                return b
        if isinstance(type,str):
            c='this is str '+bcd(usr_input)
            return c.title()
        if isinstance(type,tuple):
            c = 'this is tuple '+bcd(usr_input)
            return c.title()
        if isinstance(type,list):
            c = 'this is list ' + bcd(usr_input)
        else:
            return
    complete=abc(usr_input)
    print(complete)

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

    usrlist=[15,18,32]
    def abc(listlen):
        if len(listlen)>2:
            c=listlen[0:2]
            return c
        else:
            c=listlen
            return c
    ok=abc(usrlist)
    print(ok)

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

    def fun_index(ret):
        if isinstance(ret,list) or isinstance(ret,tuple):
            new=[]
            for i in range(len(ret)):
                if i%2==1:
                    new.append(ret[i])
                else:
                    continue
            return new#返回值要放到for循环结束后,之前放倒了添加列表值之下,结果添加一次值就返回值了,循环结束
        else:
            return#返回None
    
    usrinput=[11,22,33,44,55,66,77]
    c=fun_index(usrinput)
    print(c)

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

     集合和字典为值的话是无序的,不知道怎么保留前两个长度。或者说是我对描述的功能理解有误,以后再说

    def fun1(arge):
        okdic={}
        for k,v in arge.items():
            if isinstance(v,str) or isinstance(v,int) or isinstance(v,tuple):
                if len(v)>2:
                    okdic[k]=v[0:2]#之前报错是因为把切片的:写成了,看了老师的视频才发现
                else:
                    okdic[k]=v
            else:
               okdic[k]=v
        return okdic
    dic={12:'123',13:'12',14:'asdf',15:'as',16:(12,22,32),17:{16,22,78}}#值如果是int,是不能计算长度的,不明白为什么,或者说是对int还没弄明白
    c=fun1(dic)
    print(c)
  • 相关阅读:
    [Qt]《开发指南》3.1源码分析
    [c++] 头文件
    [Qt] 信号和槽
    [Qt] 编译问题
    [Qt] 项处理组件
    MYSQL 之 JDBC(十三):处理事务
    MYSQL 之 JDBC(十二): 处理Blob
    MYSQL 之 JDBC(十一): JDBC获取插入记录的主键值
    MYSQL 之 JDBC(十): JDBC的元数据
    MYSQL 之 JDBC(九):增删改查(七)DAO的补充和重构
  • 原文地址:https://www.cnblogs.com/xusuns/p/8205574.html
Copyright © 2011-2022 走看看