• 【python基础语法】第7天作业练习题


    import keyword
    '''
    # 第一题:简单题
    1、什么是全局变量?
    2、什么是局部变量?
    3、函数内部如何修改全局变量(如何声明全局变量 )?
    4、写出已经学过的所有python关键字,分别写出用途?
    # 第二题:数据转换
    现在有以下数据, li1 = ["{'a':11,'b':2}", "[11,22,33,44]"]
    需要转换为以下格式: li1 = [{'a': 11, 'b': 2}, [11, 22, 33, 44]]
    请封装一个函数,按上述要求实现数据的格式转换
    # 第三题:数据转换
    # 有一组用例数据如下:
    cases = [
        ['case_id', 'case_title', 'url', 'data', 'excepted'],
        [1, '用例1', 'www.baudi.com', '001', 'ok'],
        [4, '用例4', 'www.baudi.com', '002', 'ok'],
        [2, '用例2', 'www.baudi.com', '002', 'ok'],
        [3, '用例3', 'www.baudi.com', '002', 'ok'],
        [5, '用例5', 'www.baudi.com', '002', 'ok'],
    ]
    
    # 需要转换为以下格式
    res1 = [
        {'case_id': 1, 'case_title': '用例1', 'url': 'www.baudi.com', 'data': '001', 'excepted': 'ok'},
        {'case_id': 4, 'case_title': '用例4', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
        {'case_id': 2, 'case_title': '用例2', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
        {'case_id': 3, 'case_title': '用例3', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
        {'case_id': 5, 'case_title': '用例5', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}
    ]
    # 要求:封装一个函数,完成上述数据转换的功能,并且将case_id大于3的用例数据过滤出来,得到如下结果
    res = [
        {'case_id': 4, 'case_title': '用例4', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'},
        {'case_id': 5, 'case_title': '用例5', 'url': 'www.baudi.com', 'data': '002', 'excepted': 'ok'}
    '''
    '''
    # 第一题:简单题
    1、什么是全局变量?
    直接定义在文件中的变量,叫做全局变量,在该文件任何地方都能够访问
    2、什么是局部变量?
    定义在函数内部的变量叫做局部变量
    3、函数内部如何修改全局变量(如何声明全局变量 )?
    声明全局变量:
    global关键字:将函数内部的局部变量转换为全局变量
    修改全局变量:
    使用nonlocal可以在嵌套函数内部修改外部函数的局部变量的值
    """
    """
    # 第二题:数据转换
    现在有以下数据, li1 = ["{'a':11,'b':2}", "[11,22,33,44]"]
    需要转换为以下格式: li1 = [{'a': 11, 'b': 2}, [11, 22, 33, 44]]
    请封装一个函数,按上述要求实现数据的格式转换
    '''
    # 第二题
    data = ["{'a':11,'b':2}", "[11,22,33,44]"]
    def work2():
        new_data = []
        for i in data:
            res = eval(i)
            new_data.append(res)
        return new_data
    li1 = work2()
    print(li1)
    
    # 第三题
    cases = [
        ['case_id', 'case_title', 'url', 'data', 'excepted'],
        [1, '用例1', 'www.baudi.com', '001', 'ok'],
        [4, '用例4', 'www.baudi.com', '002', 'ok'],
        [2, '用例2', 'www.baudi.com', '002', 'ok'],
        [3, '用例3', 'www.baudi.com', '002', 'ok'],
        [5, '用例5', 'www.baudi.com', '002', 'ok'],
    ]
    
    def work3(cases):
        # 创建一个新列表
        new_cases = []
        # 获取新数据的key
        title = cases[0]
        # 遍历所有的数据
        for data in cases[1:]:
            # 将遍历的数据和key进行聚合打包,并转换为字典
            c = dict(zip(title,data))
            print(c)
            # 判断转换后的数据,放到信列表中
            if c["case_id"] > 3:
                new_cases.append(c)
        # 返回所有转换之后的结果
        return new_cases
    res = work3(cases)
    print(res)
    
    # 方式二:
    def work3(cases):
        # 创建一个新列表
        new_cases = []
        # 获取新数据的key
        title = cases[0]
        # 遍历所有的数据
        for data in cases[1:]:
            # 将遍历的数据和key进行聚合打包,并转换为字典
            c = dict(zip(title,data))
            # 将转换后的数据,放到新列表中
            new_cases.append(c)
            # 使用fitter过滤器结果
            # lambda后面跟函数的匿名参数x说明需要一个参数
            # 冒号后面是匿名函数的返回值,返回参数
            # new_cases,是需要传递的数据,字典参数
            def func(x):
                return x["case_id"] > 3
            result = filter(func,new_cases)
            # result = filter(lambda x:x["case_id"]>3,new_cases)
            return result
  • 相关阅读:
    UART中RTS、CTS
    Verdi:内存不足
    SV学习之interface
    perl学习之:@_ $_
    perl学习之:package and module
    代码变成可执行程序期间,编译器做了那些事?
    perl学习之:use & require
    perl学习之:use and require
    8位二进制补码表示整数的最小值是什么,最大值是什么
    深入理解计算机系统
  • 原文地址:https://www.cnblogs.com/python-test001/p/12368645.html
Copyright © 2020-2023  润新知