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 30 Python
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
Mar 05 Python
在Python中marshal对象序列化的相关知识
Jul 01 Python
在类Unix系统上开始Python3编程入门
Aug 20 Python
简单了解Python下用于监视文件系统的pyinotify包
Nov 13 Python
使用Python读取大文件的方法
Feb 11 Python
python最小生成树kruskal与prim算法详解
Jan 17 Python
Python神奇的内置函数locals的实例讲解
Feb 22 Python
Python函数和模块的使用总结
May 20 Python
PyQt5图形界面播放音乐的实例
Jun 17 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
Jul 12 Python
Python交互式图形编程的实现
Jul 25 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
短波收音机简介
2021/03/01 无线电
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
WIN8.1下搭建PHP5.6环境
2015/04/29 PHP
PHP is_array() 检测变量是否是数组的实现方法
2016/06/13 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
js添加select下默认的option的value和text的方法
2014/10/19 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
vue的三种图片引入方式代码实例
2019/11/19 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
python实现通过shelve修改对象实例
2014/09/26 Python
Python制作CSDN免积分下载器
2015/03/10 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
详解向scrapy中的spider传递参数的几种方法(2种)
2020/09/28 Python
如何使用python写截屏小工具
2020/09/29 Python
html5绘制时钟动画
2014/12/15 HTML / CSS
仓管岗位职责范本
2014/02/08 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
小学英语教学随笔
2015/08/14 职场文书
2015年幼师个人工作总结
2015/10/15 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书
总结高并发下Nginx性能如何优化
2021/11/01 Servers
苹果可能正在打击不进行更新的 App
2022/04/24 数码科技
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server