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使用logging模块发送邮件代码示例
Jan 18 Python
python直接获取API传递回来的参数方法
Dec 17 Python
python 二维数组90度旋转的方法
Jan 28 Python
基于python的BP神经网络及异或实现过程解析
Sep 30 Python
python的range和linspace使用详解
Nov 27 Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 Python
Python3标准库之dbm UNIX键-值数据库问题
Mar 24 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
Apr 01 Python
如何理解python对象
Jun 21 Python
高考考python编程是真的吗
Jul 20 Python
Python selenium绕过webdriver监测执行javascript
Apr 12 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 字符截取 解决中文的截取问题,不用mb系列
2009/09/29 PHP
php 魔术方法使用说明
2009/10/20 PHP
php计算十二星座的函数代码
2012/08/21 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
php 数组元素快速去重
2017/05/05 PHP
php+js实现的无刷新下载文件功能示例
2019/08/23 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
vue 之 css module的使用方法
2018/12/04 Javascript
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
Python 项目转化为so文件实例
2019/12/23 Python
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
面向对象编程的优势是什么
2015/12/17 面试题
为什么UNION ALL比UNION快
2016/03/17 面试题
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
电大毕业自我鉴定
2014/02/03 职场文书
安全责任书模板
2014/07/22 职场文书
户外亲子活动总结
2015/05/08 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android