python实现登录与注册系统


Posted in Python onNovember 30, 2020

本文实例为大家分享了python实现登录与注册系统的具体代码,供大家参考,具体内容如下

实现功能

1.调用文本文件里的用户信息
2.可以将注册信息存储在文本文件里
3.实现了密码格式的限制

具体用户信息将如下格式存储在txt文本文件下

python实现登录与注册系统

转换后便于代码利用的格式(列表中嵌套字典)

python实现登录与注册系统

具体代码如下:

#-*- coding=utf8 -*- 
# @author:sololi
# date: 2020/11/3
# 文件说明 :
import sys
def register(username,password):#登录功能,且与存储用户表的文本文件进行比较
  #验证用户名
  shuju=readfile()
  jg1 = 0
  i = 0
  while (i < len(shuju)):
   if (username == shuju[i]["用户名"]):
    print("用户名正确")
    jg1 = 1
    break
   i += 1
  # 用户名错误将不再验证密码
  if (jg1 != 1):
   print("用户名错误")
  # 验证密码
  if (jg1 == 1):
   jg2 = 0
   i = 0
   while (i < len(shuju)):
    if (password == shuju[i]["密码"]):
     print("密码正确")
     jg2 = 1
     break
    i += 1
   if (jg2 != 1):
    print("密码错误")

def logon(username):#注册功能,且以正确格式存入文本文件
   shuju=readfile()
   jg3 = 0
   i = 0
   while (i < len(shuju)):
    if (username == shuju[i]["用户名"]):
     print("用户名已经存在")
     jg3 = 1
     break
    i += 1
   if(jg3 == 0):
    while True:
     password = input("请输入注册的密码(密码不能小于6位,且不能为纯数字)")
     if (str.isdigit(password)==1) or (len(password)<6):
       print("密码格式错误")
     else:
      break
    passwordagain=input("请再次确认密码")
    while True:
     if(password==passwordagain):
      break
     else:
      print("两次密码不一致")
      passwordagain = input("请再次确认密码")
    # 将注册的用户信息存储到文本文件中
    f = open("data", mode='a+', encoding="utf8")
    if shuju == []:
     f.write("用户名:{},密码:{}".format(username, password))
    if shuju != []:
     f.write("\n用户名:{},密码:{}".format(username, password))
    print("注册成功")
    f.close()

def readfile():#将数据转换成列表字典形式,放在data.txt中便于后面登录与注册存放数据
 f = open('data', "r+", encoding="utf8")
 shuju = []
 b = []
 aa = {}
 for line in f.readlines():
  line = line.strip('\n')
  a = line.split(' ')
  i = 0
  while i < len(a):
   b = a[i].split(',')
   i += 1

  j = 0
  while j < len(b):
   if b == " ":
    break
   c = b[j].split(':', 1)
   aa[c[0]] = c[1]
   i += 1
   j += 1

  shuju.append(aa.copy()) # copy是为了防止添加是数据类型不同出错
 f.close()
 return shuju

while True:
 choice=input("登录输入1,注册输入2,其他任意键退出")
 if choice=="1":
  id=input("输入您的账号")
  pw=input("输入您的密码")
  register(id,pw)
  break
 if choice=="2":
  id=input("输入你注册的账号")
  logon(id)
  continue
 else:
  print("退出成功")
  sys.exit(0)

初学者作品,有错请指教

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python计算最小优先级队列代码分享
Dec 18 Python
Python 备份程序代码实现
Mar 06 Python
python tensorflow学习之识别单张图片的实现的示例
Feb 09 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
Dec 05 Python
如何使用Python抓取网页tag操作
Feb 14 Python
python 回溯法模板详解
Feb 26 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 Python
python plt可视化——打印特殊符号和制作图例代码
Apr 17 Python
Python网页解析器使用实例详解
May 30 Python
Python3使用Selenium获取session和token方法详解
Feb 16 Python
Pycharm连接远程服务器并远程调试的全过程
Jun 24 Python
python代码实现图书管理系统
Nov 30 #Python
python 爬虫网页登陆的简单实现
Nov 30 #Python
Prometheus开发中间件Exporter过程详解
Nov 30 #Python
python实现猜拳游戏项目
Nov 30 #Python
Python解析微信dat文件的方法
Nov 30 #Python
Python应用自动化部署工具Fabric原理及使用解析
Nov 30 #Python
使用python将微信image下.dat文件解密为.png的方法
Nov 30 #Python
You might like
把77A收信机改造成收音机
2021/03/02 无线电
PHP header()函数常用方法总结
2014/04/11 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
js实现简单放大镜效果
2020/03/07 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
利用python批量检查网站的可用性
2016/09/09 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
python中np是做什么的
2020/07/21 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
可以在一个PHP文件里面include另外一个PHP文件两次吗
2015/05/22 面试题
公司综合部的成员自我评价分享
2013/11/05 职场文书
会计专业自我鉴定范文
2013/12/29 职场文书
企业员工培训感言
2014/02/26 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
公司委托书格式范文
2014/10/09 职场文书
营销经理工作检讨书
2014/11/03 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
八年级语文教学反思
2016/03/03 职场文书
python中sys模块的介绍与实例
2021/04/17 Python
golang 接口嵌套实现复用的操作
2021/04/29 Golang