【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', '', 'ok'],
[4, '用例4', 'www.baudi.com', '', 'ok'],
[2, '用例2', 'www.baudi.com', '', 'ok'],
[3, '用例3', 'www.baudi.com', '', 'ok'],
[5, '用例5', 'www.baudi.com', '', '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
【python基础语法】第7天作业练习题的更多相关文章
- python基础语法、数据结构、字符编码、文件处理 练习题
考试范围 '''1.python入门:编程语言相关概念2.python基础语法:变量.运算符.流程控制3.数据结构:数字.字符串.列表.元组.字典.集合4.字符编码5.文件处理''' 考试内容 1.简 ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
- Python 基础语法
Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...
- 吾八哥学Python(四):了解Python基础语法(下)
咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- Python基础语法(三)
Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...
随机推荐
- 《即时消息技术剖析与实战》学习笔记10——IM系统如何应对高并发
一.IM 系统的高并发场景 IM 系统中,高并发多见于直播互动场景.比如直播间,在直播过程中,观众会给主播打赏.送礼.发送弹幕等,尤其是明星直播间,几十万.上百万人的规模一点也不稀奇.近期随着武汉新型 ...
- tomcat+jenkins搭建持续化集成环境
一.下载安装Tomcat 1.进入官网http://tomcat.apache.org/ 2.解压缩文件到指定目录 3.设置环境变量 a.新建CATALINA_HOME b.在path中设置 %CAT ...
- Centos 7 下部署集群式阿波罗
apollo工作原理 用户通过浏览器登录Portal管理界面 >> 通过Admin server对配置进行修改 >> 应用程序主动向config server配置注意:Port ...
- 使用Allure+testNG自动生成漂亮强大的测试用例报告
最近领导让我找一个可以每次打包自动生成测试用例的东西,jenkins或者idea都可以, 最后找到了这个allure,也踩了很多坑,废话不多说!,总结一下: 1 使用原生allure 添加依赖: &l ...
- 【译】SQ3R学习法则
SQ3R 观察-提问-阅读-复述-回顾 背景 SQ3R是一种理解策略,可帮助学生在阅读时思考他们正在阅读的文章. SQ3R通常被归类为学习策略,通过教导学生在初次阅读一篇文章时如何阅读和像高效读者一样 ...
- SpringBoot学习(2) - 自定义starter
自己开发一个spring boot starter的步骤1.新建一个项目(全部都基于maven),比如新建一个spring-boot-starter-redis的maven项目 pom.xml: &l ...
- Linux文件和目录的属性及权限总结
本文讲述的是文件或目录的属性及权限,比如索引节点inode.文件类型.文件权限及属主:还对setuid.setgid及粘贴位进行了相关的讲解.其中,对ln.chmod.chown.chgrp.umas ...
- python函数2(返回值、传递列表...)
python函数2(返回值.传递列表...) 1.返回值 1.1.返回简单的值 #返回简单值 def get_formatted_name(first_name,last_name): "& ...
- Codeforces_803
A. 填k个1,使矩阵主对角线对称,相同情况选择上面1数量多的. #include<bits/stdc++.h> using namespace std; ][] = {}; int ma ...
- BZOJ 1025 [SCOI2009]游戏 (DP+分解质因子)
题意: 若$a_1+a_2+\cdots+a_h=n$(任意h<=n),求$lcm(a_i)$的种类数 思路: 设$lcm(a_i)=x$, 由唯一分解定理,$x=p_1^{m_1}+p_2^{ ...