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 相关文章推荐
TensorFlow实现iris数据集线性回归
Sep 07 Python
解决Python下json.loads()中文字符出错的问题
Dec 19 Python
python实现大量图片重命名
Mar 23 Python
python 经典数字滤波实例
Dec 16 Python
Python 3 使用Pillow生成漂亮的分形树图片
Dec 24 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
解决python父线程关闭后子线程不关闭问题
Apr 25 Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 Python
Python基于network模块制作电影人物关系图
Jun 19 Python
PyQt5的相对布局管理的实现
Aug 07 Python
python遍历路径破解表单的示例
Nov 21 Python
pytorch 预训练模型读取修改相关参数的填坑问题
Jun 05 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
PHP经典的给图片加水印程序
2006/12/06 PHP
介绍php设计模式中的工厂模式
2008/06/12 PHP
PHP开启gzip页面压缩实例代码
2010/03/11 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
php中preg_match的isU代表什么意思
2015/10/01 PHP
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
2016/08/08 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
JS实现仿微信支付弹窗功能
2018/06/25 Javascript
js字符串类型String常用操作实例总结
2019/07/05 Javascript
angularjs模态框的使用代码实例
2019/12/20 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
python实现简单的TCP代理服务器
2014/10/08 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
python多进程并行代码实例
2019/09/30 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
Java中实现多态的机制是什么?
2014/12/07 面试题
共产党员公开承诺书
2014/03/25 职场文书
党代会心得体会
2014/09/04 职场文书
班主任先进事迹材料
2014/12/17 职场文书
大学教师个人总结
2015/02/10 职场文书
秋菊打官司观后感
2015/06/03 职场文书