python实现注册登录系统_python实现登录与注册系统「建议收藏」

python实现注册登录系统_python实现登录与注册系统「建议收藏」本文实例为大家分享了python实现登录与注册系统的具体代码,供大家参考,具体内容如下实现功能1.调用文本文件里的用户信息2.可以将注册信息存储在文本文件里3.实现了密码格式的限制具体用户信息将如下格式存储在txt文本文件下转换后便于代码利用的格式(列表中嵌套字典)具体代码如下:#-*-coding=utf8-*-#@author:sololi#date:2020/11/3#文件说…

大家好,又见面了,我是你们的朋友全栈君。

本文实例为大家分享了python实现登录与注册系统的具体代码,供大家参考,具体内容如下

实现功能

1.调用文本文件里的用户信息

2.可以将注册信息存储在文本文件里

3.实现了密码格式的限制

具体用户信息将如下格式存储在txt文本文件下

bc0c42093d4386b5d42d8a5f13e1859c.png

转换后便于代码利用的格式(列表中嵌套字典)

98df17b1883eb45d08bcfa59a9ca663d.png

具体代码如下:

#-*- 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)

初学者作品,有错请指教

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142847.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 工作流入门教程(flowable框架)

    工作流入门教程(flowable框架)最近有一段时间没写博客了,本来打算写写对于工作流的心得,但是工作时间比较饱和只好延后。最初接触工作流是上一家公司工作,具体我不透露哪家公司,只是感受到人情冷暖,或许公司都是这样,当你的价值被用完了也就是你走人的时候。好了,废话不多说,我们直接进入主题。前言对于框架的选型,我推荐使用flowable框架,在最初的项目选型是选择activiti的,但是深入去了解框架的时候发现activiti还是有一些坑的,而flowable正是activiti框架的修正版,据了解flowable的背景是activiti原班

    2022年5月21日
  • linux iscsiadm_iscsi发起程序怎么用

    linux iscsiadm_iscsi发起程序怎么用ISCSIADMNAMEiscsiadm-open-iscsiadministrationutility  SYNOPSISiscsiadm -mdiscovery[-hV][-ddebug_level][-Pprintlevel][-Iiface-ttype-pip:port[-l]]|[-oope

    2022年8月23日
  • ora-01006:绑定变量不存在_并非所有变量已绑定怎么解决

    ora-01006:绑定变量不存在_并非所有变量已绑定怎么解决今天碰到一个很普通的问题:ORA-01008:并非所有的变量都已绑定,看着错误的提示,总以为是自己的变量和值不是对称的,检查了很多遍,最后没撤,还是在网上搜了,搜了很多方法,都说事因为自己的变量和值没有一一对应。后来,无意看到了一句话,可能是因为变量的值是null造成的,而并非值和和变量没有一一对应。经检查发现,确实有一个值是null,不是空格,然后把值改成空格,就好了。在BS系统中,使用&nbs

    2022年9月6日
  • springboot实现热部署

    springboot实现热部署文章目录前言原理方式开始配置在pom.xml中添加依赖devtools的配置IDEA中配置测试参考资料&小结小结参考资料前言在实际开发过程中,每次修改代码就得将项目重启,重新部署,对于一些大型应用来说,重启时间需要花费大量的时间成本。对于一个后端开发者来说,重启过程确实很难受啊。在Java开发领域,热部署一直是一个难以解决的问题,目前的Java虚拟机只能实现方法体的修改热部署,…

    2022年5月23日
  • python发邮件详解,smtplib和email模块详解

    python发邮件详解,smtplib和email模块详解在介绍具体的实现python发邮件的具体操作之前,我觉得有必要介绍下SMTP,更有助于理解python发邮件的实现原理。SMTP协议属于TCP/IP协议簇,即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式,python实现发邮件也是基于此基础上进行封装的。1.python发邮件所需要的基础包python发送邮件需要用到python自带的两个模块,s…

    2022年10月24日
  • Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)「建议收藏」

    Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)「建议收藏」本文阐述:class文件和代码中的class对象之间的关系;动态代理中InvocationHandler角色的由来;Javassist和ASM框架生成字节码;类加载器

    2022年5月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号