Python实现注册、登录小程序功能


Posted in Python onSeptember 21, 2018

主要实现功能

1、用户输入用户名,在用户名文件中查找对应的用户,若无对应用户名则打印输入错误

2、用户名输入正确后,进行密码匹配。输入密码正确则登录成功,否则重新输入。
3、连续输错三次密码则该用户名被锁,退出程序

--------------------------------------------------

在程序文件夹下建立一个用户名、密码的文件 :user_np.txt和一个用于存放被锁用户名的文件:lock.txt

--------------------------------------------------

#setencoding=utf-8

import os,sys
#将用户名文件内容读取到内存中
user = open('user_np.txt')
account_list = user.readlines()
user.closeloginSucess = 0       #控制while循环退出

lock_n = False
#判断用户输入的用户名是否被锁的标志位

while True:


username = input('please input username:').strip()    #strip()函数是忽略空格
 
if len(username) == 0:


print('输入用户名不能为空')


continue

else :


print('输入用户名不为空')


l = open('lock.txt')


l_list = l.readlines()


l.close()


print(l_list)


for j in l_list:



j = j.strip('\n')



if username == j:




print('该用户已经锁定,请输入其他用户名')




lock_n = True




del j          #删除变量j




break



else:




continue


if lock_n is True:



lock_n = False



continue


else:



lock_n = False



for i in account_list:




i = i.split()             #split()函数是对括号中的符号进行切割
 



if username == i[0]:





for x in range(3):





password = input('please input password:').strip()





if password == i[1]:






loginSucess = 2






break





else:






print('The password is error')





#匹配正确或者遇到break程序就跳出循环体下面语句不执行
 



else:       #输入超过三次,将用户名写入锁文件并打印出来
 




print('%s ,input password is beyond three times,going to lock'%username)





l = open('lock.txt','a')





l.write(username+'\n')      #将要锁的用户名写入锁文件并且换行
 




l.close()





view = open('lock.txt')      #打开锁文件
 




print(view.read())          #打印锁文件的内容,方便自己做调试
 




loginSucess = 1


if loginSucess ==2:                 



print('sucess info')



break


elif loginSucess ==1:



print('用户名被锁,请重新输入')


else:



print('输入错误')

下面通过代码看下python实现注册登录小程序

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

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

{
   'name': {'password': '111111', 'role': '1'},
   'name2': {'password': '222222', 'role': '1'},   
   'name3': {'password': '222222', 'role': '1'}
 }

 # 注册
 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':'1'}
   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()

运行结果:

Python实现注册、登录小程序功能

以上所述是小编给大家介绍的Python实现登录、注册小程序功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python自动化测试工具Splinter简介和使用实例
May 13 Python
python3+PyQt5重新实现QT事件处理程序
Apr 19 Python
Python3实现的字典、列表和json对象互转功能示例
May 22 Python
Python爬虫包BeautifulSoup学习实例(五)
Jun 17 Python
面向对象学习之pygame坦克大战
Sep 11 Python
Cython编译python为so 代码加密示例
Dec 23 Python
基于Tensorflow使用CPU而不用GPU问题的解决
Feb 07 Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 Python
Python可视化工具如何实现动态图表
Oct 23 Python
Python析构函数__del__定义原理解析
Nov 20 Python
深度学习tensorflow基础mnist
Apr 14 Python
Python实现归一化算法详情
Mar 18 Python
用于业余项目的8个优秀Python库
Sep 21 #Python
Python 经典面试题 21 道【不可错过】
Sep 21 #Python
python使用folium库绘制地图点击框
Sep 21 #Python
在python中安装basemap的教程
Sep 20 #Python
python编程使用协程并发的优缺点
Sep 20 #Python
详解Numpy中的广播原则/机制
Sep 20 #Python
Python 读写文件的操作代码
Sep 20 #Python
You might like
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
基于jQuery的日期选择控件
2009/10/27 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
JS实现slide文字框缩放伸展效果代码
2015/11/05 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
vue解决跨域路由冲突问题思路解析
2017/11/03 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
vant中的toast层级改变操作
2020/11/04 Javascript
Element el-button 按钮组件的使用详解
2021/02/01 Javascript
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
Python自动连接ssh的方法
2015/03/07 Python
python re模块findall()函数实例解析
2018/01/19 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
英国最大的在线奢侈手表零售商:Jura Watches
2018/01/29 全球购物
自我鉴定怎么写
2013/12/05 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
软件研发工程师岗位职责
2014/09/30 职场文书
特种设备安全管理制度
2015/08/06 职场文书
MySQL 数据恢复的多种方法汇总
2021/06/21 MySQL