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 相关文章推荐
如何搜索查找并解决Django相关的问题
Jun 30 Python
python自动化测试之从命令行运行测试用例with verbosity
Sep 28 Python
状态机的概念和在Python下使用状态机的教程
Apr 11 Python
pymongo实现多结果进行多列排序的方法
May 16 Python
python爬取微信公众号文章
Aug 31 Python
python制作填词游戏步骤详解
May 05 Python
Python面向对象进阶学习
May 21 Python
python 使用plt画图,去除图片四周的白边方法
Jul 09 Python
python 实现多线程下载视频的代码
Nov 15 Python
python创建学生成绩管理系统
Nov 22 Python
python使用gdal对shp读取,新建和更新的实例
Mar 10 Python
详解Go语言运用广度优先搜索走迷宫
Jun 23 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
iis下php mail函数的sendmail配置方法(官方推荐)
2012/04/25 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
JS简单计算器实例
2015/01/20 Javascript
javascript中eval函数用法分析
2015/04/25 Javascript
微信小程序 Video API实例详解
2016/10/02 Javascript
js的OOP继承实现(必看篇)
2017/02/18 Javascript
说说如何在Vue.js中实现数字输入组件的方法
2019/01/08 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
在Python中过滤Windows文件名中的非法字符方法
2019/06/10 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
总经理驾驶员岗位职责
2013/12/04 职场文书
个人求职自荐信范文
2014/06/20 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
党校党性分析材料
2014/12/19 职场文书
MySQL学习总结-基础架构概述
2021/04/05 MySQL
一条 SQL 语句执行过程
2022/03/17 MySQL
Nginx的基本概念和原理
2022/03/21 Servers
Python利用zhdate模块实现农历日期处理
2022/03/31 Python
Java 深入探究讲解简单工厂模式
2022/04/07 Java/Android
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL