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多线程、异步+多进程爬虫实现代码
Feb 17 Python
python实现微信发送邮件关闭电脑功能
Feb 22 Python
Python双向循环链表实现方法分析
Jul 30 Python
python制作填词游戏步骤详解
May 05 Python
Python OpenCV实现视频分帧
Jun 01 Python
python多线程共享变量的使用和效率方法
Jul 16 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
Aug 05 Python
python 实现一个反向单位矩阵示例
Nov 29 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
django在保存图像的同时压缩图像示例代码详解
Feb 11 Python
Python unittest框架操作实例解析
Apr 13 Python
opencv 图像加法与图像融合的实现代码
Jul 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
php5中类的学习
2008/03/28 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
Python打印输出数组中全部元素
2018/03/13 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
python文件操作的简单方法总结
2019/11/07 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
基于CentOS搭建Python Django环境过程解析
2020/08/24 Python
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
简述DNS进行域名解析的过程
2013/12/02 面试题
简历自我评价怎么写好呢?
2014/01/04 职场文书
汽车促销活动方案
2014/03/31 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
铁人观后感
2015/06/16 职场文书
张丽莉观后感
2015/06/16 职场文书
大学运动会通讯稿
2015/07/18 职场文书
写给同事的离职感言
2015/08/04 职场文书
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js
Go语言应该什么情况使用指针
2021/07/25 Golang
vue使用echarts实现折线图
2022/03/21 Vue.js
python标准库ElementTree处理xml
2022/05/20 Python