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正则用法实例讲解
Jun 21 Python
python添加模块搜索路径方法
Sep 11 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 Python
python3实现磁盘空间监控
Jun 21 Python
python os.path模块常用方法实例详解
Sep 16 Python
Django框架视图介绍与使用详解
Jul 18 Python
Python数据可视化实现正态分布(高斯分布)
Aug 21 Python
详解Matplotlib绘图之属性设置
Aug 23 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
Django之全局使用request.user.username的实例详解
May 14 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
Jun 24 Python
如何基于python实现单目三维重建详解
Jun 25 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操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
详解PHP的Yii框架的运行机制及其路由功能
2016/03/17 PHP
Laravle eloquent 多对多模型关联实例详解
2017/11/22 PHP
载入进度条 效果
2006/07/08 Javascript
window.ActiveXObject使用说明
2010/11/08 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
基于jquery的loading 加载提示效果实现代码
2011/09/01 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
AngularJS双向数据绑定原理之$watch、$apply和$digest的应用
2018/01/30 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
[03:55]2016国际邀请赛中国区预选赛首日TOP10精彩集锦
2016/06/27 DOTA
Python实现的redis分布式锁功能示例
2018/05/29 Python
Python subprocess模块常见用法分析
2018/06/12 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
Python中的heapq模块源码详析
2019/01/08 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
管理心得体会
2013/12/28 职场文书
土地转让协议书
2014/09/27 职场文书
公司感谢信范文
2015/01/22 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
惊天动地观后感
2015/06/10 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书