【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 ...
随机推荐
- Maven: 把聚合工程下的项目导入 Ecplise
1.右键点击import 2.Import Existing Maven Projects 3.选择要导入的工程 4.完成
- 安卓开发实战-记账本APP(三)
本次实现的是有关登录,注册和整体页面的改观,实现下方选项导致页面的切换效果. 利用到的技术有Sqlite数据库的增删改查,与fragment实现.由于暂时没有找到合适的图标,先借用微信的图标暂代一下. ...
- math type白嫖教程
math type作为一款很方便的公式编辑器,缺陷就是要收费,只有30天的免费试用.这里有一个白嫖的方法,当你30天的期限过了之后,只需要删除HKEY_CURRENT_USER\Software\In ...
- 基于Mybatis的bookstore架构模型
总共分为Control,dao,enter,entity,service,util,view这几层.同时还含有一个mapperconfig.xml文件. 1,mapperconfig.xml 这里面用 ...
- linux系统下gdb的简单调试
当我们写完程序后,我们会运行程序,在这个过程中,可能程序会出现错误. 我们可以利用gdb调试去看我们运行的程序,并且我们新手通过gdb调试能更好地去读懂 别人的程序.让我们更好的学习. 我们看下面这条 ...
- 十二、sed文本处理
一.概述 1.sed 是一款流编辑工具,用来对文本进行过滤与替换工作,特别是当你想要对几十个配置文件做统计修改时,你会感受到 sed 的魅力!sed 通过输入读取文件内容,但一次仅读取一行内容进行某些 ...
- ffmpeg常用数据结构
from :http://my.oschina.net/u/555701/blog/56748 AVCodecContext 这是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息,如 ...
- Codeforces_831
A.线性判断. #include<bits/stdc++.h> using namespace std; ] = {}; int main() { ios::sync_with_stdio ...
- HDU_1175_莫队+逆元
http://acm.hdu.edu.cn/showproblem.php?pid=5145 初探莫队,就是离线排序后的暴力,但是效率大大提高,中间要除法取模,所以用到了逆元. #include< ...
- CCF_ 201512-2_消除类游戏
水平方向遍历一次,竖直方向遍历一次,将需要删除的位置标志入一个数组,最后比较输出即可. #include<cstdio> #include<iostream> using na ...