python实现登录与注册系统
作者:江liuer_666 发布时间:2022-04-26 02:32:38
标签:python,登录,注册
本文实例为大家分享了python实现登录与注册系统的具体代码,供大家参考,具体内容如下
实现功能
1.调用文本文件里的用户信息
2.可以将注册信息存储在文本文件里
3.实现了密码格式的限制
具体用户信息将如下格式存储在txt文本文件下
转换后便于代码利用的格式(列表中嵌套字典)
具体代码如下:
#-*- 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://blog.csdn.net/weixin_51322568/article/details/109477348


猜你喜欢
- SQL 事件探查器数据列 SQL &
- 我们在选择一件商品的时候,会先了解一些相关的商品信息,根据自己的需求和情况再进行选择。这种现象也同样适用于找工作,筛选一个岗位的重要环节,就
- 1.我在一行结束后按回车键,就跳到隔一行的段落上,如何避免隔行跳到下一段落? A.在一行结束后先按着[Shift]键,再按回车就可以不隔行跳
- 本文实例讲述了python使用webbrowser浏览指定url的方法。分享给大家供大家参考。具体如下:这段代码提示用户输入关键词,通过we
- 如何用我的国际域名做虚拟域名?config.asp<%Domain_URL = "intels.net&
- 1.元字符: . 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行 ^ 匹配行首。除非
- pyinstaller打包引入自己编写的库场景使用pyinstaller打包某个文件后,生成的exe文件无法运行,提示 Module not
- sql语句中默认是不区分大小写的,所以语句: Sql代码 SELECT * FROM RecEngineBizInfo WHERE RecE
- 早听说用python做网络爬虫非常方便,正好这几天单位也有这样的需求,需要登陆XX网站下载部分文档,于是自己亲身试验了一番,效果还不错。本例
- 用requests包请求https的网站时,我们偶尔会遇到证书问题。也就是常见的SSLerror,遇到这种问题莫慌莫慌。这里没有找到合适的网
- 1.字符串大小写转value = "wangdianchao"# 转换为大写big_value = value.uppe
- python函数的闭包问题(内嵌函数)>>> def func1():... print ('fun
- 以前把守护进程与后台任务搞混了,后面看了文章才知道这两者的区别,写此文表达自己对守护进程的理解.1:什么是守护进程?所谓守护进程是一种是 L
- 前言通过Python实现对大麦网近期全国演唱会数据进行爬取,通过分析,我们发现大麦网属于Python爬虫策略中“中等型”难度网站,演唱会数据
- 对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比。在本质上,list的排序和内
- 本文实例讲述了MySql数据库基础知识点。分享给大家供大家参考,具体如下:数据库基本操作1)创建数据库基本语法: create databa
- 自己写的一个自动完成效果,暂时没有ajax数据源,用静态数据代替。仅供喜欢JavaScript的同学们参考,代码如下<!DOCTYPE
- 1、什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check
- python对PPT演示文档读写,是通过第三方库python-pptx实现的,python-pptx是用于创建和更新 PowerPoint(
- 代码检测textarea内填写的长度,未填写时提示需要重新填写,少于15字符时提示需要长于15字符,成功时显示所填写建议。<scrip