python基础语法练习题-【python基础语法】第8天作业练习题

"""# 第一题:

# 要求:请将数据读取出来,转换为以下格式

{'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 模块中的变量或者函数"""

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值