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随机生成指定长度密码的方法
Apr 04 Python
python从sqlite读取并显示数据的方法
May 08 Python
对于Python装饰器使用的一些建议
Jun 03 Python
Python字符串匹配算法KMP实例
Jul 18 Python
Python实现读取txt文件并转换为excel的方法示例
May 17 Python
Django 表单模型选择框如何使用分组
May 16 Python
Python当中的array数组对象实例详解
Jun 12 Python
python 缺失值处理的方法(Imputation)
Jul 02 Python
解决Pytorch训练过程中loss不下降的问题
Jan 02 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
在终端启动Python时报错的解决方案
Nov 20 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_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
PHP实现抓取Google IP并自动修改hosts文件
2015/02/12 PHP
从刷票了解获得客户端IP的方法
2015/09/21 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
JavaScript 空位补零实现代码
2010/02/26 Javascript
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
jQuery学习笔记 操作jQuery对象 属性处理
2012/09/19 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
js实现点击烟花特效
2020/10/14 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
Python安装pycurl失败的解决方法
2018/10/15 Python
Python3实现的判断回文链表算法示例
2019/03/08 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
python3 字符串知识点学习笔记
2020/02/08 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
销售演讲稿范文
2014/01/08 职场文书
四年级科学教学反思
2014/02/10 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
2014年教师党员自我评议
2014/09/19 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
关于vue中如何监听数组变化
2021/04/28 Vue.js
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
分享提高 Python 代码的可读性的技巧
2022/03/03 Python
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android