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实现在线程里运行scrapy的方法
Apr 07 Python
在Python中使用poplib模块收取邮件的教程
Apr 29 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
python微信跳一跳游戏辅助代码解析
Jan 29 Python
Django 连接sql server数据库的方法
Jun 30 Python
python使用matplotlib库生成随机漫步图
Aug 27 Python
Python使用selenium + headless chrome获取网页内容的方法示例
Oct 16 Python
python制作朋友圈九宫格图片
Nov 03 Python
使用python实现画AR模型时序图
Nov 20 Python
python飞机大战pygame游戏框架搭建操作详解
Dec 17 Python
Windows10+anacond+GPU+pytorch安装详细过程
Mar 24 Python
python操作toml文件的示例代码
Nov 27 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多维数组的深度的方法
2014/01/07 PHP
Thinkphp中的volist标签用法简介
2014/06/18 PHP
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
浅谈PHP接收POST数据方式
2015/06/05 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
js 处理URL实用技巧
2010/11/23 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
浅谈Vue的基本应用
2016/12/27 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
手写Vue2.0 数据劫持的示例
2021/03/04 Vue.js
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
matplotlib绘制动画代码示例
2018/01/02 Python
python os模块简单应用示例
2019/05/23 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
Python 串口通信的实现
2020/09/29 Python
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
数控技校生自我鉴定
2014/03/02 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
golang 实现菜单树的生成方式
2021/04/28 Golang