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 内置函数complex详解
Oct 23 Python
python3实现随机数
Jun 25 Python
Django跨域请求CSRF的方法示例
Nov 11 Python
解决Python下json.loads()中文字符出错的问题
Dec 19 Python
Django使用模板后无法找到静态资源文件问题解决
Jul 19 Python
python 实现单通道转3通道
Dec 03 Python
django 前端页面如何实现显示前N条数据
Mar 16 Python
python脚本和网页有何区别
Jul 02 Python
Django基于Models定制Admin后台实现过程解析
Nov 11 Python
python实现计算图形面积
Feb 22 Python
pytest配置文件pytest.ini的详细使用
Apr 17 Python
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
Jun 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
用在PHP里的JS打印函数
2006/10/09 PHP
PHP中设置时区方法小结
2012/06/03 PHP
php常用的url处理函数总结
2014/11/19 PHP
php header函数的常用http头设置
2015/06/25 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
JS 判断undefined的实现代码
2009/11/26 Javascript
完美解决AJAX跨域问题
2013/11/01 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
微信小程序之选项卡的实现方法
2017/09/29 Javascript
实例详解Vue项目使用eslint + prettier规范代码风格
2018/08/20 Javascript
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
Python的设计模式编程入门指南
2015/04/02 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
python获取时间戳的实现示例(10位和13位)
2020/09/23 Python
python自动化办公操作PPT的实现
2021/02/05 Python
Python创建自己的加密货币的示例
2021/03/01 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
好军嫂事迹材料
2014/01/15 职场文书
单位未婚证明范本
2014/01/18 职场文书
文秘自荐信
2014/06/28 职场文书
转让协议书范本
2014/09/13 职场文书
2016年五一促销广告语
2016/01/28 职场文书
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP
MySQL 条件查询的常用操作
2022/04/28 MySQL