把上周的注册程序改一下,用字典保存
# 字典格式如下:
# {
# "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()

最新文章

  1. 本地无法启动MySQL服务,报的错误:1067,进程意外终止
  2. C预定义宏
  3. 4种sql分页
  4. 修改apache的默认访问目录
  5. 用C#访问SSRS自动导出SSRS报表
  6. javascript中方法调用与方括号[]
  7. pinyin4j使用示例
  8. 【转】Ubuntu 14.04配置安装java环境和android开发环境(包括真机调试环境)
  9. linux的常用命令及常用快捷键
  10. Oracle EBS-SQL (INV-10):检查库存接口.sql
  11. 爬虫入门系列(二):优雅的HTTP库requests
  12. Android之淘宝商品列表长按遮罩效果
  13. Tajima's D
  14. 无网 离线状态下pip3安装 django等软件
  15. Hyper-V 替换 vmwp
  16. ASP.NET MVC显示UserControl控件(扩展篇)
  17. 嵌入AppBar并且带搜索建议的搜索框(Android)
  18. WPF点滴(1) Main 函数
  19. hbase(一)region
  20. 删除UTF-8 BOM头的GUI小工具

热门文章

  1. Elasticsearch5.X IN Windows 10 系列文章(1)
  2. 利用github Pages和Jekyll搭建blog实践1
  3. 最小生成树——Prim(普利姆)算法
  4. Spring Cloud 微服务二:API网关spring cloud zuul
  5. poj 2524 Ubiquitous Religions(并查集)
  6. kubernetes高级之集群中使用sysctls
  7. 九度OJ 1339:ACM (排序)
  8. 【python】-- 事件驱动介绍、阻塞IO, 非阻塞IO, 同步IO,异步IO介绍
  9. Webpack探索【1】--- 基础知识
  10. iOS8 with Swift