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 相关文章推荐
java直接调用python脚本的例子
Feb 16 Python
python对指定目录下文件进行批量重命名的方法
Apr 18 Python
python下载图片实现方法(超简单)
Jul 21 Python
Django contenttypes 框架详解(小结)
Aug 13 Python
Django中的FBV和CBV用法详解
Sep 15 Python
python multiprocessing多进程变量共享与加锁的实现
Oct 02 Python
python自动化测试三部曲之unittest框架的实现
Oct 07 Python
Python内置函数及功能简介汇总
Oct 13 Python
Python中return函数返回值实例用法
Nov 19 Python
Python使用Pygame绘制时钟
Nov 29 Python
使用Python爬虫爬取小红书完完整整的全过程
Jan 19 Python
Python闭包的定义和使用方法
Apr 11 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/10/09 PHP
phpfans留言版用到的install.php
2007/01/04 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
页面只能打开一次Cooike如何实现
2012/12/04 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
jquery获取css中的选择器(实例讲解)
2013/12/02 Javascript
jQuery实现当按下回车键时绑定点击事件
2014/01/28 Javascript
js正则表达式中exec用法实例
2015/07/23 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
jQuery Select下拉框操作小结(推荐)
2016/07/22 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
Angular ng-repeat指令实例以及扩展部分
2016/12/26 Javascript
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
JavaScript修改注册表实例代码
2020/01/05 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
Python 中Django验证码功能的实现代码
2019/06/20 Python
python线程安全及多进程多线程实现方法详解
2019/09/27 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
品恩科技软件测试面试题
2014/10/26 面试题
会计专业大学生职业生涯规划书
2014/02/11 职场文书
2015年全国助残日活动方案
2015/05/04 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
描写九月优美句子(39条)
2019/09/11 职场文书
优秀范文:读《红岩》有感3篇
2019/10/14 职场文书
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技