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 04 Python
Python random模块用法解析及简单示例
Dec 18 Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 Python
numpy数组广播的机制
Jul 12 Python
Python 堆叠柱状图绘制方法
Jul 29 Python
Python3查找列表中重复元素的个数的3种方法详解
Feb 13 Python
Python切割图片成九宫格的示例代码
Mar 10 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
Apr 03 Python
深入理解python多线程编程
Apr 18 Python
Pytest allure 命令行参数的使用
Apr 18 Python
python中if和elif的区别介绍
Nov 07 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调用Oracle存储过程
2006/10/09 PHP
PHP版自动生成文章摘要
2008/07/23 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
简洁短小的 JavaScript IE 浏览器判定代码
2010/03/21 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
javascript中普通函数的使用介绍
2013/12/19 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
JS 滚动事件window.onscroll与position:fixed写兼容IE6的回到顶部组件
2016/10/10 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
小程序server请求微信服务器超时的解决方法
2019/05/21 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
编写Python脚本来实现最简单的FTP下载的教程
2015/05/04 Python
python创建临时文件夹的方法
2015/07/06 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
奥地利票务门户网站:oeticket.com
2019/12/31 全球购物
C#面试题
2016/05/06 面试题
计算机软件个人的自荐信范文
2013/12/01 职场文书
计算机专业学生的自我评价
2013/12/15 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书