用python 实现模拟注册和登录的程序:用户信息最终以字典的格式储存在一个txt文件里,具体实现如下:

users.txt里用户字典格式如下:

 {
'name': {'password': '', 'role': ''},
'name2': {'password': '', 'role': ''},
'name3': {'password': '', 'role': ''}
}
 # 注册
f = open('users.txt', 'a+', encoding='utf-8')
f.seek(0)
user_info = eval(f.read())# 字符串转字典
i =0
while i<3:
i += 1
uname = input("请输入用户名:").strip()
upass = input("请输入密码:").strip()
passC = input("请确认密码:").strip()
if not uname or not upass or not passC:
print("注册失败,用户名或密码不能为空")
continue
if upass != passC:
print("注册失败,两次输入密码不一致")
continue
if uname in user_info:
print("注册失败,用户名已存在")
continue
print("恭喜你,注册成功!")
user_info[uname] ={'password':upass,'role':''}
f.seek(0)
f.truncate()
f.write(str(user_info))
else:
print("sorry,register over 3 times bye-bye!")
f.close() # 登录
fr = open('users.txt', 'r')
fr.seek(0)
user_info = eval(fr.read())
j = 0
while j<3:
j +=1
uname = input("请输入用户名:\n").strip()
upass = input("请输入密码:\n").strip()
if not uname:
print("用户名不能为空")
continue
if not upass:
print("密码不能为空")
continue
if uname not in user_info:
print("用户名不存在")
continue
if upass != user_info[uname]['password']:
print("密码错误")
continue
print("恭喜你,登录成功!")
else:
print("sorry! login over 3 times bye-bye! ")
f.close()

运行结果:

最新文章

  1. 初学者-PHP笔记
  2. Ubuntu 14.04 Trusty安装java环境
  3. hdu 4068 福州赛区网络赛H 排列 ***
  4. .net mvc 发布部署到机器上
  5. iOS动态管理AutoLayout的约束NSLayoutConstraint
  6. Unity NGUI Tween的用法
  7. CSS基础知识之float
  8. java--从控制台读入一些数据
  9. 分布式版本控制系统Git-----1.Git 初识
  10. 横向子菜单栏ul根据其子元素li个数动态获取宽度,并与父li绝对垂直居中的jquery代码段
  11. 2017-4-26 winform tab和无边框窗体制作
  12. C语言打印不出百分号&#39;%&#39;(以解决)
  13. 数据流中的中位数 Find Median from Data Stream
  14. select下拉框左右变换
  15. c++ 实现哈夫曼树中遇见的问题
  16. docker的使用 -- windows
  17. linux 小笔记
  18. git的软件安装
  19. while and for 2
  20. NSThread 在主线操作的三个方法

热门文章

  1. PHP分多步骤填写发布信息的简单方法实例代码
  2. 【UVA】10891 Game of Sum(区间dp)
  3. [Octave] optimset()
  4. java的方法传参,最容易混淆的问题!!!
  5. 常用的ubantu操作命令
  6. Space-vim的.spacevim配置备份
  7. js网页倒计时精确到秒级
  8. mac使用备注
  9. 怎样给oracle数据库的用户解锁
  10. synchronized的简单理解