- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-4000
7.4.2 用户账户管理
某些网站要求访问者在访问网站内容之前必须先进行登录,若用户没有该网站的账号,则需要先进行注册。用户注册完账号后,网站的服务器会保存账号信息,以便用户下次访问网站时网站可根据保存的信息验证用户的身份。为保障账户安全,用户可时常修改密码;若后续用户不再使用网站,可以选择注销账户。
本案例要求实现包含用户注册、登录、修改密码和注销功能的用户账户管理程序(要求程序使用文件存储用户的账户信息)。
实例目标
通过完成本实例,读者应掌握以下知识或技能:
熟练地定义和调用函数
熟练地创建目录和文件
实例分析
用户账户管理程序的具体流程如下所示:
显示功能菜单;
用户选择功能;
若选择1,执行用户注册操作;若选择2,执行用户登录操作;若选择3,执行用户注销操作;若选择4,执行修改密码操作;若选择5,执行退出操作。
用户账户管理程序中用户的信息是永久存储的,可以保存到本地文件info.txt中。
实现用户账户管理程序可以编写如下函数实现:
convert_data():将文件的数据类型转换为字典类型
register():用户注册。
login():用户登录。
cancel():用户注销。
modify():修改密码。
welcome():控制程序的操作流程,包括打印功能菜单、选择功能等。
代码实现
导入os模块,代码如下:
import os
创建一个“用户账户管理.py”文件,在该文件中按实例分析依次定义各个函数:
1、convert_data()
convert_data()函数用于将用户信息转换为字典类型的数据,该函数中首先会读取info.txt文件的数据,然后将数据转换为 “姓名: **”、“密码: **”形式的字典数据。
convert_data()函数的定义如下:
# 将文件中的数据转换为字典
def convert_data():
info_li = []
with open(./info.txt, mode=r+, encoding=utf8) as f:
info_data = f.readlines()
for i in info_data:
info_dict = dict()
# 替换{ 和 } 并去掉空格
step_one = i.replace({, ).replace(}, )
# 以冒号进行分隔
step_two = step_one.split(:)
# 拼接字典
info_dict[姓名] =
step_two[1].split(,)[0].replace(, ).strip()
info_dict[密码] = step_two[2].replace(, ).strip()
# 保存到列表中
info_li.append(info_dict)
return info_li
2、register()
register()函数用于用户注册,该函数中首先会判断计算机中是否已经有info.txt文件,没有则创建一个info.txt文件,然后接收用户输入的姓名和密码,并将姓名和密码写入到info.txt文件中。
register()函数的定义如下:
# 注册
def register():
if os.path.exists(./info.txt) is not True:
with open(./info.txt, mode=w, encoding=utf8) as f:
f.write()
# 用户名列表
name_li = []
info_li = convert_data()
# 接收注册信息
person_info = {}
name = input(请输入注册用户名:\n)
# 获取用户列名列表
for i in info_li:
name_li.append(i[姓名])
# 判断用户是否存在
if name in name_li:
print(用户已注册)
else:
password = input(请输入注册密码:\n)
person_info[姓名] = name
person_info[密
您可能关注的文档
- 大学生就业指导 1-1 就业指导概述 (42).pptx
- 大学生就业指导 1-2 熟悉就业制度与政策(54).pptx
- 大学生就业指导 2-1 建立生涯意识(45).pptx
- 大学生就业指导 2-2 全面探索自我--2 兴趣(50).pptx
- 《汽车保险与理赔》第3版课件5-2 车损险理赔实例.pptx
- 《汽车保险与理赔》第3版课件5-3 汽车三责险理赔实例 .pptx
- 《汽车保险与理赔》第3版课件5-4 我国汽车其他保险理赔实例.pptx
- 《汽车保险与理赔》第3版课件5-5 汽车保险欺诈实例.pptx
- 《汽车保险与理赔》课程PPT---4.1 汽车保险事故索赔新 - 副本.pptx
- 《汽车保险与理赔》课程PPT---4.2 汽车保险事故定损与核损新.pptx
- Python快速编程入门8.5.1 好友管理系统 实训文档.docx
- Python快速编程入门8.5.2 生词本 实训文档.docx
- Python快速编程入门8.10.1 人机猜拳游戏 实训文档.docx
- Python快速编程入门8.10.2 自定义列表 实训文档.docx
- Python快速编程入门8.11 阶段案例——银行管理系统 实训文档.doc
- Python快速编程入门9.5.1 头像格式检测 实训文档.docx
- Python快速编程入门9.5.2 商品数量检测 实训文档.docx
- Python快速编程入门10.4.1 图形绘制 实训文档.docx
- Python快速编程入门10.4.2 模拟时钟 实训文档.docx
- Python快速编程入门10.6.1 出场人物统计 实训文档.docx
最近下载
- MSA测量系统分析-二次元.pdf VIP
- 视频处理软件:Final Cut Pro二次开发_(1).FinalCutPro二次开发概述.docx VIP
- 公司气象灾害防御方案气象灾害防御条例.doc VIP
- 《学前教育研究方法》期末考试复习题库(含答案).docx VIP
- 特种设备安全监察条例.pptx VIP
- 2023年《教育研究方法》期末考试复习题库(含答案).docx VIP
- 生产安全事故报告和调查处理条例2020.docx VIP
- 专题13 《红岩》中考真题及典型习题训练 (解析版)-2021年中考语文常考名著之阅读指导及真题训练.docx VIP
- TCECS 618-2019 压接式碳钢管道工程技术规程.pdf VIP
- 《中华人民共和国防汛条例》知识培训.pptx VIP
文档评论(0)