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之通过Python连接数据库
Oct 28 Python
Python函数参数类型*、**的区别
Apr 11 Python
Python中使用多进程来实现并行处理的方法小结
Aug 09 Python
Python 关于反射和类的特殊成员方法
Sep 14 Python
Python实现的字典值比较功能示例
Jan 08 Python
Python numpy 提取矩阵的某一行或某一列的实例
Apr 03 Python
Python绘图Matplotlib之坐标轴及刻度总结
Jun 28 Python
3种python调用其他脚本的方法
Jan 06 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
PyCharm GUI界面开发和exe文件生成的实现
Mar 04 Python
Django 解决distinct无法去除重复数据的问题
May 20 Python
Python图像处理之膨胀与腐蚀的操作
Feb 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
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
php中通过Ajax如何实现异步文件上传的代码实例
2011/05/07 PHP
PHP编程函数安全篇
2013/01/08 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
关于document.cookie的使用javascript
2008/04/11 Javascript
Jquery选择器 $实现原理
2009/12/02 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
学习javascript面向对象 掌握创建对象的9种方式
2016/01/04 Javascript
Vue指令的钩子函数使用方法
2017/03/20 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
基于JavaScript实现每日签到打卡轨迹功能
2018/11/29 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
原生js实现随机点名
2020/07/05 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
Python中的CURL PycURL使用例子
2014/06/01 Python
python实现2048小游戏
2015/03/30 Python
Python中的pack和unpack的使用
2018/03/12 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
PyCharm代码整体缩进,反向缩进的方法
2018/06/25 Python
pytorch torchvision.ImageFolder的用法介绍
2020/02/20 Python
基于HTML5+Webkit实现树叶飘落动画
2017/12/28 HTML / CSS
包装类的功能、种类、常用方法
2012/01/27 面试题
青年志愿者事迹材料
2014/02/07 职场文书
2014年公司植树节活动方案
2014/03/04 职场文书
元旦促销方案
2014/03/15 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
个性婚礼策划方案
2014/05/17 职场文书
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS