大致的想法 我是分別寫了五個函數
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
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具