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刷投票的脚本实现代码
Nov 08 Python
python实现简单温度转换的方法
Mar 13 Python
python妙用之编码的转换详解
Apr 21 Python
Numpy数组的保存与读取方法
Apr 04 Python
Python爬虫框架Scrapy常用命令总结
Jul 26 Python
Python WSGI的深入理解
Aug 01 Python
对Python3+gdal 读取tiff格式数据的实例讲解
Dec 04 Python
Python根据当前日期取去年同星期日期
Apr 14 Python
Flask教程之重定向与错误处理实例分析
Aug 01 Python
python 魔法函数实例及解析
Sep 25 Python
python实现剪贴板的操作
Jul 01 Python
基于Python实现对比Exce的工具
Apr 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生成带有雪花背景的验证码
2008/09/28 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
wamp安装后自定义配置的方法
2014/08/23 PHP
ThinkPHP有变量的where条件分页实例
2014/11/03 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
Prototype使用指南之array.js
2007/01/10 Javascript
js从输入框读取内容,比较两个数字的大小方法
2017/03/13 Javascript
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
Layui实现带查询条件的分页
2019/07/27 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
Python2.x利用commands模块执行Linux shell命令
2016/03/11 Python
Python实现的建造者模式示例
2018/08/06 Python
python获取中文字符串长度的方法
2018/11/14 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
Python中import导入不同目录的模块方法详解
2020/02/18 Python
Python连接mysql数据库及简单增删改查操作示例代码
2020/08/03 Python
Python如何测试stdout输出
2020/08/10 Python
python3让print输出不换行的方法
2020/08/24 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
学习决心书
2014/03/11 职场文书
2014教师年度工作总结
2014/11/10 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
python 常用的异步框架汇总整理
2021/06/18 Python
python中字符串String及其常见操作指南(方法、函数)
2022/04/06 Python