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之dict()的操作方法
Sep 24 Python
使用Python的Bottle框架写一个简单的服务接口的示例
Aug 25 Python
Python爬虫抓取手机APP的传输数据
Jan 22 Python
Python中不同进制的语法及转换方法分析
Jul 27 Python
django 通过URL访问上传的文件方法
Jul 28 Python
详解Python可视化神器Yellowbrick使用
Nov 11 Python
opencv-python 读取图像并转换颜色空间实例
Dec 09 Python
jupyter notebook中新建cell的方法与快捷键操作
Apr 22 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
Jun 04 Python
Python3.7安装pyaudio教程解析
Jul 24 Python
如何完美的建立一个python项目
Oct 09 Python
Python中re模块的元字符使用小结
Apr 07 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.ini中文版(1)
2006/10/09 PHP
Symfony模板的快捷变量用法实例
2016/03/17 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
浅谈javascript中的constructor
2016/06/08 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
js实现页面刷新滚动条位置不变
2016/11/27 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
JavaScript中最常见的三个面试题解析
2017/03/04 Javascript
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
Python的另外几种语言实现
2015/01/29 Python
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
python正则实现计算器功能
2017/12/14 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
如何解决安装python3.6.1失败
2020/07/01 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
html5中地理位置定位api接口开发应用小结
2013/01/04 HTML / CSS
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
美国椅子和沙发制造商:La-Z-Boy
2020/10/25 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
优秀民警事迹材料
2014/01/29 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
实习协议书
2015/01/27 职场文书
护士节慰问信
2015/02/15 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
Java基础——Map集合
2022/04/01 Java/Android