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操作列表的常用方法分享
Feb 13 Python
从零学Python之入门(五)缩进和选择
May 27 Python
基于Python实现一个简单的银行转账操作
Mar 06 Python
python对离散变量的one-hot编码方法
Jul 11 Python
对django中render()与render_to_response()的区别详解
Oct 16 Python
pygame游戏之旅 如何制作游戏障碍
Nov 20 Python
Python实现的简单线性回归算法实例分析
Dec 26 Python
python中的协程深入理解
Jun 10 Python
Python学习笔记之Django创建第一个数据库模型的方法
Aug 07 Python
Python实现链表反转的方法分析【迭代法与递归法】
Feb 22 Python
Python非单向递归函数如何返回全部结果
Dec 18 Python
python爬虫selenium模块详解
Mar 30 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
PHP中图片等比缩放的实例
2013/03/24 PHP
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
php实现复制移动文件的方法
2015/07/29 PHP
php实现点击可刷新验证码
2015/11/07 PHP
php导出生成word的方法
2015/12/25 PHP
又一个小巧的图片预加载类
2007/05/05 Javascript
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
ES6 Map结构的应用实例分析
2019/06/26 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
python实现QQ邮箱发送邮件
2020/03/06 Python
django迁移文件migrations的实现
2020/03/31 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
有针对性的求职自荐信
2013/11/14 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
班组长岗位职责
2014/03/03 职场文书
大学生考试作弊检讨书1000字
2014/10/14 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
师德师风学习材料
2014/12/19 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS
Python使用Web框架Flask开发项目
2022/06/01 Python