"""# 第一题:
# 要求:请将数据读取出来,转换为以下格式
{'data0': '数据aaa', 'data1': '数据bbb', 'data2': '数据ccc', 'data3': '数据ddd'}
# 提示:
# 可能会用到内置函数enumerate
# 注意点:读取出来的数据如果有换行符' ',要想办法去掉。
# 第二题:
当前有一个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
注意点:读取出来的数据如果有换行符' ',要想办法去掉。"""
#第一题
defwork1():#第一步:读取数据后,每一行作为一个元素放到列表中
with open("data.txt","r",encoding="utf8") as f:
datas=f.readlines()#第二步:将数据转换为字典
dic ={}#通过enumerate去获取列表中的数据和下标
for index,data inenumerate(datas):#构造数据的key和value
key = "date{}".format(index)
value= data.replace(" ","")#加入到字典中
dic[key] =valuereturndic
dic=work1()print(dic)#第二题
defwork2():#第一步:读取数据后,每一行作为一个元素放到列表中
with open("case.txt", "r", encoding="utf8") as f:
cases=f.readlines()#print(cases)
#第二步:将数据转换为列表
#创建一个空列表
lis =[]#遍历出来每一行数据
for i incases:#将该行数据使用split按,进行分割,得到一个列表
itme1 = i.split(",")#创建一个空字典,用例存放该行数据
dic ={}#遍历分割后的列表
for j initme1:#将遍历出来的数据,按":"进行分割,得到key和value的值,然后加入到字典中
key = j.split(":")[0]
value= j.split(":")[1].replace(" ","")
dic[key]=value#将该行数据加入到列表中
lis.append(dic)#完成转换之后,将转换后的数据,进行返回
returnlis
lis=work2()print(lis)#第三题
defwork3(lis):#创建一个空字典存放数据
dic ={}#通过enumerate去获取列表中的数据和下标
for index,data inenumerate(lis):#构造数据的key
key = "date{}".format(index+1)#加入字典中
dic[key] =data#将转换之后的数据进行返回
returndic
dic=work3(lis)print(dic)
res= map(lambda x:{"data{}".format(x[0]+1):x[1]},enumerate(lis))print(list(res))#第四题
defwork3():#读取文件中注册用户的数据
with open("users.txt","r",encoding="utf8") as f:#读取文件内容
data =f.read()#识别字符串中的列表
users =eval(data)#注册功能代码(上次作业写的,不需要改动))
whileTrue:#注册功能
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 模块中的变量或者函数"""