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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javascript倒置再次被否定作用

    javascript倒置再次被否定作用

    2022年1月11日
    47
  • Modifying Table Partitions

    Modifying Table PartitionsModifyingTablePartitionsOracleTipsbyBurleson Youcanmodifyatableortablepartitioninanyofthewa

    2022年6月26日
    29
  • 5gwifi信道哪个最好,wifi信道在哪里设置如何检测哪个路由器信道最快

    5gwifi信道哪个最好,wifi信道在哪里设置如何检测哪个路由器信道最快5G的WIFI信道选择相当重要,在不同的国家为了保证政府与军用部分与5G相交频道的使用,通过网卡驱动锁定或路由器固件锁定了5G的WIFI信道使用权限,而这些被锁定的频道,使用性能都是相对好,受到自然或非自然因素干扰最少的;而突破这些限制,才能发挥5G的WIFI真正性能。  双频路由器5ghz设置哪个信道最好  1、国内规定可用的5G信道只有149、153、157、161、165这5个(…

    2022年5月2日
    4.7K
  • matlab极性电容叫什么,什么是无极性电容[通俗易懂]

    描述无极电容就是没有极性电源正负极的电容器,无极性电容器的两个电极可以在电路中随意的接入。因为这款电容不存在漏电的现象,主要应用在耦合,退耦,反馈,补偿,振荡等电路中。图为无极性电容参考图。无极电容就是没有极性电源正负极的电容器,无极性电容器的两个电极可以在电路中随意的接入。因为这款电容不存在漏电的现象,主要应用在耦合,退耦,反馈,补偿,振荡等电路中。无极性电容两电极无正负极性之分,主要用于交流电…

    2022年4月12日
    51
  • git常用命令

    git常用命令Git常用命令汇总以及其它相关操作(转载)一、常用的git命令–文件目录操作命令mkdir*创建一个空目录*指目录名pwd显示当前目录的路径。cat*查看*文件内容gitr

    2022年7月4日
    26
  • c#实现图片gif去水印「建议收藏」

    做项目时候会遇到在网络上爬的源文件,png图片或者动画gif背景都带有水印,“百度出品”“不得转载”等等,这样出来的文件放在项目里面当做自己的资源来用肯定是不可以的,现在就来用lockbits替换背景的颜色,实现水印消除的目的。话不多述,上图:处理前:这是处理之前的图,其实底部的“baidu汉语“看着并不是很明显(仔细看),仍然需要把字体的背部水印去掉,这里开始用lockbits来去水印了。处理

    2022年4月9日
    137

发表回复

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

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