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中MySQLdb模块用法实例
Nov 10 Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
Python机器学习之K-Means聚类实现详解
Feb 22 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
Jan 07 Python
解决python flask中config配置管理的问题
Jul 26 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
Aug 15 Python
学习Django知识点分享
Sep 11 Python
关于Python3 lambda函数的深入浅出
Nov 27 Python
python 通过视频url获取视频的宽高方式
Dec 10 Python
学习python需要有编程基础吗
Jun 02 Python
Python趣味入门教程之循环语句while
Aug 26 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
8个必备的PHP功能开发
2015/10/02 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
基于php实现的php代码加密解密类完整实例
2016/10/12 PHP
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
Ext JS动态加载JavaScript创建窗体的方法
2016/06/23 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
2017/08/10 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
Python从MP3文件获取id3的方法
2015/06/15 Python
pyqt5自定义信号实例解析
2018/01/31 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
django认证系统 Authentication使用详解
2019/07/22 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
金鑫耀Java笔试题
2014/09/06 面试题
学校经典推荐信
2013/10/30 职场文书
红领巾心向党广播稿
2014/01/19 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
办公自动化专业大学生职业规划书
2014/03/06 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
车间安全生产标语
2014/06/06 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
销售员自我评价
2015/03/11 职场文书
婚礼长辈答谢词
2015/09/29 职场文书