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解决方案:WindowsError: [Error 2]
Aug 28 Python
JSONLINT:python的json数据验证库实例解析
Nov 28 Python
Selenium控制浏览器常见操作示例
Aug 13 Python
python matplotlib画图库学习绘制常用的图
Mar 19 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
Jun 17 Python
浅谈django url请求与数据库连接池的共享问题
Aug 29 Python
django 框架实现的用户注册、登录、退出功能示例
Nov 28 Python
python小项目之五子棋游戏
Dec 26 Python
python实现126邮箱发送邮件
May 20 Python
Python使用lambda抛出异常实现方法解析
Aug 20 Python
M1芯片安装python3.9.1的实现
Feb 02 Python
Python加密技术之RSA加密解密的实现
Apr 08 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
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
php通过递归方式复制目录和子目录的方法
2015/03/13 PHP
PHP时间类完整代码实例
2021/02/26 PHP
javaScript中Math()函数注意事项
2015/06/18 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
vuejs指令详解
2017/02/07 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
VsCode新建VueJs项目的详细步骤
2017/09/23 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
深入浅析python继承问题
2016/05/29 Python
Python算法应用实战之栈详解
2017/02/04 Python
Python 函数基础知识汇总
2018/03/09 Python
Python向MySQL批量插数据的实例讲解
2018/03/31 Python
分享vim python缩进等一些配置
2018/07/02 Python
python可视化实现代码
2019/01/15 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
pycharm设置默认的UTF-8编码模式的方法详解
2020/06/01 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
StubHub德国:购买和出售门票
2017/09/06 全球购物
Gina Bacconi官网:吉娜贝康尼连衣裙和礼服
2018/04/24 全球购物
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
高级销售求职信
2014/02/21 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
放假通知格式
2015/04/14 职场文书
中标通知书
2015/04/17 职场文书
如何书写邀请函?
2019/06/24 职场文书