大致的思路 我是分别写了五个函数
fileRead() 文件读取
FileWrite()文件写入
FileModify()文件修改
Register()注册
Login()登陆 来实现整个功能的,话不多说直接上代码了
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: linghanchujian""" 实现一个登陆注册功能 提示是否拥有账号 有跳转登陆 没有跳转注册 注册 检查文件中是否有相同的账号名 注册成功后跳转到登陆 登陆 输入用户名和密码 认证成功后显示欢迎登陆 三次失败是锁定账号"""import osimport jsonimport getpass DATAJSON = '' #临时用来存放数据"""文件的读取"""def FileRead(): LoginAndRegistrationData = open("G:/Data.txt","r")if os.path.getsize("G:/Data.txt")!= 0:global DATAJSON # 全局变量DATAJSON = json.loads(LoginAndRegistrationData.read())# DATAJSON = LoginAndRegistrationData.read()# print(DATAJSON) LoginAndRegistrationData.close()pass"""文件的写入"""def FileWrite(DATAJSON,userName,passWord):"""直接打开一个txt文件没有就创建Data文件"""LoginAndRegistrationData = open("G:/Data.txt", "w") Subscript = 1if DATAJSON != '':for d in DATAJSON: Subscript += 1DATAJSON["User"+str(Subscript)] = {"UserName":userName,"Password":passWord,"isLocking":False}else: DATAJSON = {"User1":{"UserName":userName,"Password":passWord,"isLocking":False}} JsonData = json.dumps(DATAJSON, ensure_ascii=False) LoginAndRegistrationData.write(JsonData) LoginAndRegistrationData.close()# print(Subscript)pass"""文件的修改"""def FileModify(n):# 对文件进行修改DATAJSON[str(n)]["isLocking"] = True# 对文件进行储存LoginAndRegistrationData = open("G:/Data.txt", "w") JsonData = json.dumps(DATAJSON, ensure_ascii=False) LoginAndRegistrationData.write(JsonData) LoginAndRegistrationData.close()pass"""注册程序"""def Register():print("------------欢迎来注册!!---------") RegisterUserName = input("注册账号:")if DATAJSON != '':for d in DATAJSON:if DATAJSON[d]["UserName"]==RegisterUserName:print("该账号已被注册!!!") Register()return ; RegisterPassWord = input("注册密码:")try: FileWrite(DATAJSON,RegisterUserName,RegisterPassWord)finally:print("注册成功!!") Login()pass"""登陆程序"""def Login():print("------------欢迎来到登陆!!-----------") isUserName = True LoginUser = input("账号:")for d in DATAJSON:# print(d)# print(DATAJSON[d]["UserName"]+"and"+LoginUser)if LoginUser == DATAJSON[d]["UserName"]: isUserName = Falseif DATAJSON[d]["isLocking"]==True:print("该账号已被锁定,请更换账号!!") Login()returnelse:for i in range(3):if i>0:print("密码错误你还有"+str(3-i)+"次机会") LoginPassword = input("密码:")if DATAJSON[d]["Password"]==LoginPassword:print("登陆成功!!")returnelse:if i == 2:print("三次机会用完,该账号已被锁定!!") FileModify(d) Login()else:if isUserName:print("没有该账号!!") Login()passFileRead()print(DATAJSON) YesAndNo = input("是否拥有账号?y/n\n")if YesAndNo == 'y': Login()elif YesAndNo == 'n': Register()else:print("谢谢你的使用!!") exit()
以上是python的简单的登陆和注册功能实现的详细内容。更多信息请关注PHP中文网其他相关文章!

pythonuseshybridapprace,ComminingCompilationTobyTecoDeAndInterpretation.1)codeiscompiledtoplatform-Indepententbybytecode.2)bytecodeisisterpretedbybythepbybythepythonvirtualmachine,增强效率和通用性。

theKeyDifferencesBetnewpython's“ for”和“ for”和“ loopsare:1)” for“ loopsareIdealForiteringSequenceSquencesSorkNowniterations,而2)”,而“ loopsareBetterforConterContinuingUntilacTientInditionIntionismetismetistismetistwithOutpredefinedInedIterations.un

在Python中,可以通过多种方法连接列表并管理重复元素:1)使用 运算符或extend()方法可以保留所有重复元素;2)转换为集合再转回列表可以去除所有重复元素,但会丢失原有顺序;3)使用循环或列表推导式结合集合可以去除重复元素并保持原有顺序。

fasteStmethodMethodMethodConcatenationInpythondependersonListsize:1)forsmalllists,operatorseffited.2)forlargerlists,list.extend.extend()orlistComprechensionfaster,withextendEffaster,withExtendEffers,withextend()withextend()是extextend()asmoremory-ememory-emmoremory-emmoremory-emmodifyinginglistsin-place-place-place。

toInSerteLementIntoApythonList,useAppend()toaddtotheend,insert()foreSpificPosition,andextend()formultiplelements.1)useappend()foraddingsingleitemstotheend.2)useAddingsingLeitemStotheend.2)useeapecificindex,toadapecificindex,toadaSpecificIndex,toadaSpecificIndex,blyit'ssssssslorist.3 toaddextext.3

pythonlistsareimplementedasdynamicarrays,notlinkedlists.1)他们areStoredIncoNtiguulMemoryBlocks,mayrequireRealLealLocationWhenAppendingItems,EmpactingPerformance.2)LinkesedlistSwoldOfferefeRefeRefeRefeRefficeInsertions/DeletionsButslowerIndexeDexedAccess,Lestpypytypypytypypytypy

pythonoffersFourmainMethodStoreMoveElement Fromalist:1)删除(值)emovesthefirstoccurrenceofavalue,2)pop(index)emovesanderturnsanelementataSpecifiedIndex,3)delstatementremoveselemsbybybyselementbybyindexorslicebybyindexorslice,and 4)

toresolvea“ dermissionded”错误Whenrunningascript,跟随台词:1)CheckAndAdjustTheScript'Spermissions ofchmod xmyscript.shtomakeitexecutable.2)nesureThEseRethEserethescriptistriptocriptibationalocatiforecationAdirectorywherewhereyOuhaveWritePerMissionsyOuhaveWritePermissionsyYouHaveWritePermissions,susteSyAsyOURHomeRecretectory。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Linux新版
SublimeText3 Linux最新版

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。