【python基础语法】第8天作业练习题
"""
# 第一题:
# 要求:请将数据读取出来,转换为以下格式
{'data0': '数据aaa', 'data1': '数据bbb', 'data2': '数据ccc', 'data3': '数据ddd'}
# 提示:
# 可能会用到内置函数enumerate
# 注意点:读取出来的数据如果有换行符'\n',要想办法去掉。
# 第二题:
当前有一个case.txt文件,里面中存储了很多用例数据: 如下,每一行数据就是一条用例数据
要求一: 请把这些数据读取出来,到并且存到list中,格式如下:
[
{"url":"www.baidu.com","mobilephone":"12760246701","pwd":"123456"},
{"url":"www.baidu.com","mobilephone":"15678934551","pwd":"234555"},
{"url":"www.baidu.com","mobilephone":"15678934551","pwd":"234555"},
{"url":"www.baidu.com","mobilephone":"15678934551","pwd":"234555"},
{"url":"www.baidu.com","mobilephone":"15678934551","pwd":"234555"}
]
# 第三题:将上述数据再次进行转换,转换为下面这种字典格式格式
{
"data1":{"url":"www.baidu.com","mobilephone":"12760246701","pwd":"123456"},
"data2":{"url":"www.baidu.com","mobilephone":"15678934551","pwd":"234555"},
"data3":{"url":"www.baidu.com","mobilephone":"15678934551","pwd":"234555"},
"data4":{"url":"www.baidu.com","mobilephone":"15678934551","pwd":"234555"},
"data5":{"url":"www.baidu.com","mobilephone":"15678934551","pwd":"234555"}
}
提示:按行读取数据,然后使用字符串分割的方法对每一行数据进行分割,组装成字典 第四题:之前作业写了一个注册的功能,再之前的功能上进行升级,要求:把所有注册成功的用户数据放到文件中进行保存,数据存储的格式不限
提示:
每次运行程序,先去文件中读取所有注册过的用户数据,
程序运行完之后,将所有的用户数据再次写入到文件 第五题、写出模块导入的方法(至少两种),写出包导入的方法(至少两种) """
"""
第一题:
要求:请将数据读取出来,转换为以下格式
{'data0': '数据aaa', 'data1': '数据bbb', 'data2': '数据ccc', 'data3': '数据ddd'}
提示:
可能会用到内置函数enumerate
注意点:读取出来的数据如果有换行符'\n',要想办法去掉。
"""
# 第一题
def work1():
# 第一步:读取数据后,每一行作为一个元素放到列表中
with open("data.txt","r",encoding="utf8") as f:
datas = f.readlines()
# 第二步:将数据转换为字典
dic = {}
# 通过enumerate去获取列表中的数据和下标
for index,data in enumerate(datas):
# 构造数据的key和value
key = "date{}".format(index)
value = data.replace("\n","")
# 加入到字典中
dic[key] = value
return dic
dic = work1()
print(dic) # 第二题
def work2():
# 第一步:读取数据后,每一行作为一个元素放到列表中
with open("case.txt", "r", encoding="utf8") as f:
cases = f.readlines()
# print(cases)
# 第二步:将数据转换为列表
# 创建一个空列表
lis = []
# 遍历出来每一行数据
for i in cases:
# 将该行数据使用split按,进行分割,得到一个列表
itme1 = i.split(",")
# 创建一个空字典,用例存放该行数据
dic = {}
# 遍历分割后的列表
for j in itme1:
# 将遍历出来的数据,按":"进行分割,得到key和value的值,然后加入到字典中
key = j.split(":")[0]
value = j.split(":")[1].replace("\n","")
dic[key] = value
# 将该行数据加入到列表中
lis.append(dic)
# 完成转换之后,将转换后的数据,进行返回
return lis
lis = work2()
print(lis) # 第三题
def work3(lis):
# 创建一个空字典存放数据
dic = {}
# 通过enumerate去获取列表中的数据和下标
for index,data in enumerate(lis):
# 构造数据的key
key = "date{}".format(index+1)
# 加入字典中
dic[key] = data
# 将转换之后的数据进行返回
return dic
dic = work3(lis)
print(dic) res = map(lambda x:{"data{}".format(x[0]+1):x[1]},enumerate(lis))
print(list(res)) # 第四题
def work3():
# 读取文件中注册用户的数据
with open("users.txt","r",encoding="utf8") as f:
# 读取文件内容
data = f.read()
# 识别字符串中的列表
users = eval(data)
# 注册功能代码(上次作业写的,不需要改动))
while True:
# 注册功能
username = input("请输入用户名:") # 输入账号
for user in users: # 遍历所有账号,判断账号是否存在
if username == user["user"]:
print("该客户已经被注册过") # 账号已存在,请重新输入
break
else:
password1 = input("请输入密码:") # 输入密码
password2 = input("请再次确认密码:") # 再次输入密码
if password1 != password2:
print("两次输入密码不一致,请重新输入!") # 账号和密码不一致,请重新输入
continue
# 账号不存在,密码不重复,则添加到账户列表中
users.append({"user": username, "password": password2})
# user["username"] = username
# user["password"] = password1
print("注册成功!")
print(users)
break
# 程序结束后,将所有用户的数据写入到文件
with open("users.txt","w",encoding="utf8") as f:
# 将列表转换为字符串
content = str(users)
# 写入文件
f.write(content)
work3() # 第五题
"""
模块导入
方式一:import 模块名
方式二:from 模块名 import 模块中的变量或者函数 包导入:
方式一:from 包名 import 模块名
方式二:from 包名.模块名 import 模块中的变量或者函数
"""
【python基础语法】第8天作业练习题的更多相关文章
- 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 ...
随机推荐
- Docker基础内容之镜像
概念 镜像是一个包含程序运行必要依赖环境和代码的只读文件,它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上.镜像是容器运行的基石. 下图展示的是Docker镜像的系统结构.其中, ...
- html网页压缩保存到数据库,减少空间占用,实现过程遇到的解压问题
场景: python获取到网页,把网页gzip打包,并Base64编码保存: 由java负责Base64解码并解压二进制成html 遇到的问题: 1.python 的request,缺省就把gzip响 ...
- Spring 依赖注入原理
所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中.当spring容器启动后,spring容器初始化,创建并管理bean对象,以及销毁它.所以我们只需从容器直接获取Bean对象就行, ...
- leetcode水题题解
344. Reverse String Write a function that takes a string as input and returns the string reversed. E ...
- 遍历CSDN博客
--http://blog.csdn.net/leixiaohua1020/article/list/14?viewmode=contents function saveData(data) loca ...
- mongodb 配置文件解释(转)
Mongodb 3.x配置说明,本文内容忽略了Enterprise版和一些不常用的配置. 一.配置说明 在Mongod安装包中,包含2个进程启动文件:mongod和mongos:其中mongd是核心基 ...
- c++ 中变量成员的初始化时机
代码如下: 注意一下我打断点的位置. 最后的结果: 在程序进入MyTest()的函数体之前,控制台就打印出来了I have been constructed. 即:在进入构造函数的函数体之前,类中的成 ...
- sed命令入门
什么是sed sed是一种流处理编辑器,可以分割.查找.替换文本. sed命令的处理流程:行处理 Created with Raphaël 2.1.0在shell中执行sed文本或管道输入读入到模式空 ...
- Hadoop fs 使用方法
hdfs的基本命令 hdfs dfs -help 查看帮助 在HDFS的文件系统中,HDFS只支持绝对路径 1.-ls: 显示目录信息 hadoop fs -ls / 列出指定目录下的内容 2. ...
- Language Model
在某次会上的语言模型的ppt.