python习题-注册用户程序
2024-09-02 12:18:22
把上周的注册程序改一下,用字典保存
# 字典格式如下:
# {
# "niuhanyang":{"passwd":"123456","role":1"},
# "jmy":{"passwd":"123456","role":2"},
# "xiaohei":{"passwd":123456,"role":1}
#
# }
#role如果是1的话,代表管理员,如果是2代表普通用户,注册的用户都是普通用户
#需求分析:
#1、先要从原来的数据库(咱们的user_info文件)里面,把已经存在的数据读出来
#2、让用户输入账号、密码、密码确认
#3、判断用户是否存在,如果不存在的话,才可以注册
#4、判断密码和确认密码输入一致的话,注册成功
#5、把新的用户写到这个userinfo字典中
#6、把新的userinfo替换旧的
#7、保存文件
fr = open('user_info.txt','a+')
fr.seek(0)
user_info = eval(fr.read()) #存的是从文件里面读出来的用户信息
user_num = len(user_info) #存的最开始的字典长度
for i in range(3):
username = input('plz enter your username:').strip()
password = input('plz enter your password:').strip()
c_password = input('plz enter your password agen:').strip()
if len(username)==0:
print('用户名不能为空')
elif username not in user_info:
if password == c_password and len(password)>0:
user_info[username]={'passwd':password,'role':'2'}
print('注册成功!')
break
else:
print('密码不能为空!两次输入密码必须一致!')
else:
print('你注册的用户已经存在!')
if user_num == len(user_info):
pass
else:
fr.seek(0)
fr.truncate()#清空文件
fr.write(str(user_info))
fr.flush()#缓冲区的
fr.close()
最新文章
- 本地无法启动MySQL服务,报的错误:1067,进程意外终止
- C预定义宏
- 4种sql分页
- 修改apache的默认访问目录
- 用C#访问SSRS自动导出SSRS报表
- javascript中方法调用与方括号[]
- pinyin4j使用示例
- 【转】Ubuntu 14.04配置安装java环境和android开发环境(包括真机调试环境)
- linux的常用命令及常用快捷键
- Oracle EBS-SQL (INV-10):检查库存接口.sql
- 爬虫入门系列(二):优雅的HTTP库requests
- Android之淘宝商品列表长按遮罩效果
- Tajima's D
- 无网 离线状态下pip3安装 django等软件
- Hyper-V 替换 vmwp
- ASP.NET MVC显示UserControl控件(扩展篇)
- 嵌入AppBar并且带搜索建议的搜索框(Android)
- WPF点滴(1) Main 函数
- hbase(一)region
- 删除UTF-8 BOM头的GUI小工具
热门文章
- Elasticsearch5.X IN Windows 10 系列文章(1)
- 利用github Pages和Jekyll搭建blog实践1
- 最小生成树——Prim(普利姆)算法
- Spring Cloud 微服务二:API网关spring cloud zuul
- poj 2524 Ubiquitous Religions(并查集)
- kubernetes高级之集群中使用sysctls
- 九度OJ 1339:ACM (排序)
- 【python】-- 事件驱动介绍、阻塞IO, 非阻塞IO, 同步IO,异步IO介绍
- Webpack探索【1】--- 基础知识
- iOS8 with Swift