• 函数练习一


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

    def func(lst):
        if type(lst) == tuple or type(lst) == list:
            lst = list(lst[1::2])
            return lst
        else:
            return
    s = (1,12,5,5,4,5,5,1,52,15,45)
    print(func(s))
    

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

    def func3(obj):
        if type(obj) == str or type(obj) == list or type(obj) == tuple:
            if len(obj)>5:
                return True
            else:
                return False
    s = (1,12,5,5,4,5,5,1,52,15,45)
    print(func3(s))
    

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

    def func4(lst):
        if type(lst) == list:
            if len(lst) > 2:
                return lst[:2]
            else :
                return lst
    s = [1,12,5,5,4,5,5,1,52,15,45]
    print(func4(s))
    

    5.写函数,计算传入函数的字符串中,[数字]、[字母] 以及 [其他]的个数,并返回结果。

    def func5(string):
        if type(string) == str:
            n = 0
            z = 0
            q = 0
            for i in string:
                if i.isdecimal():
                    n += 1
                elif "a"<= i <="z" or "A"<= i <="Z":
                    z += 1
                else :
                    q += 1
            return n,z,q
    s = "ADdsa232132犯得上发射点@#$@#"
    print(func5(s))
    

    6.写函数,接收两个数字参数,返回比较大的那个数字。

    def func6(a,b):
        if type(a) ==int and type(b) == int:
            if a > b:
                return a
            else:
                return b
    print(func6(3,4))
    

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

    dic = {"k1": "v1v1", "k2": [11,22,33,44]}
    def func7(dic):
        for i in dic:
            if type(dic[i]) == list or type(dic[i]) == tuple:
                if len(dic[i]) > 2:
                    dic[i] = dic[i][:2]
        return dic
    print(func7(dic))
    

    8.写函数,此函数只接收一个参数这个参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为列表的索引及对应的元素。例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}。

    def func8(lst):
        dic = {}
        if type(lst) == list:
            for i in range(len(lst)):
                dic[i] = lst[i]
            return dic
    lst = [11,22,33]
    print(func8(lst))
    

    9.写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。

    def func9(name,sex,age,edu):
        with open("student_msg","a",encoding="utf-8")as f:
            f.write(f"{name},{sex},{age},{edu}\n")
    name = input("name:")
    sex = input("sex:")
    age = input("age:")
    edu = input("edu(学历):")
    func9(name, sex, age, edu)
    

    10.对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。

    def func10(name,age,edu,sex ="男"):
        with open("student_msg","a",encoding="utf-8")as f:
            f.write(f"{name},{sex},{age},{edu}\n")
    while True:
        name = input("name:")
        if name.upper() =="Q":
            break
        sex = input("sex:")
        if sex.upper() =="Q":
            break
        age = input("age:")
        if age.upper() =="Q":
            break
        edu = input("edu(学历):")
        if edu.upper() =="Q":
            break
        if sex =="女":
            func10(name, age, edu,"nv")
        else:
            func10(name, age, edu)
    
    
  • 相关阅读:
    Altium Designer 快捷键与技巧
    常用贴片三极管型号与丝印的对应关系(SOT23)
    buck型DC-DC分析
    IAR升级之后,编译stm32官方工程报错的解决办法
    单片机中不带字库LCD液晶屏显示少量汉字
    结构体应用及其字节对齐问题
    退出循环break,continue,return,goto分析
    金莎伪粉丝的日常
    keil5 mdk使用ST-Link II下载出现cannot halt the core解决办法
    keil5 mdk调用外部编辑器notepad++、sublime3、VSCode总结
  • 原文地址:https://www.cnblogs.com/ciquankun/p/11197620.html
Copyright © 2020-2023  润新知