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网页请求urllib2模块简单封装代码
Feb 07 Python
Python远程桌面协议RDPY安装使用介绍
Apr 15 Python
python3实现UDP协议的服务器和客户端
Jun 14 Python
python基础梳理(一)(推荐)
Apr 06 Python
连接pandas以及数组转pandas的方法
Jun 28 Python
利用ImageAI库只需几行python代码实现目标检测
Aug 09 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
python爬虫开发之selenium模块详细使用方法与实例全解
Mar 09 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 Python
Keras预训练的ImageNet模型实现分类操作
Jul 07 Python
Python实现自动装机功能案例分析
Oct 22 Python
Python实现数据的序列化操作详解
Jul 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中heredoc与nowdoc介绍
2014/12/25 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
JavaScript toFixed() 方法
2010/04/15 Javascript
网易JS面试题与Javascript词法作用域说明
2010/11/09 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
2013/03/04 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
vue-router命名视图的使用讲解
2019/01/19 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
Python性能提升之延迟初始化
2016/12/04 Python
Python实现求笛卡尔乘积的方法
2017/09/16 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
阿玛尼美妆英国官网:Giorgio Armani Beauty英国
2019/03/28 全球购物
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
医院后勤自我鉴定
2013/10/13 职场文书
《秋姑娘的信》教学反思
2014/02/28 职场文书
入党介绍人意见怎么写
2015/06/03 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
Python将CSV文件转化为HTML文件的操作方法
2021/06/30 Python
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers