일반적인 생각은 각각 5개의 함수를 작성했다는 것입니다
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Python은 엄격하게 라인 별 실행이 아니지만 통역사 메커니즘을 기반으로 최적화되고 조건부 실행입니다. 통역사는 코드를 PVM에 의해 실행 된 바이트 코드로 변환하며 상수 표현식을 사전 컴파일하거나 루프를 최적화 할 수 있습니다. 이러한 메커니즘을 이해하면 코드를 최적화하고 효율성을 향상시키는 데 도움이됩니다.

Python에는 두 개의 목록을 연결하는 방법이 많이 있습니다. 1. 연산자 사용 간단하지만 큰 목록에서는 비효율적입니다. 2. 효율적이지만 원래 목록을 수정하는 확장 방법을 사용하십시오. 3. 효율적이고 읽기 쉬운 = 연산자를 사용하십시오. 4. 메모리 효율적이지만 추가 가져 오기가 필요한 itertools.chain function을 사용하십시오. 5. 우아하지만 너무 복잡 할 수있는 목록 구문 분석을 사용하십시오. 선택 방법은 코드 컨텍스트 및 요구 사항을 기반으로해야합니다.

Python 목록을 병합하는 방법에는 여러 가지가 있습니다. 1. 단순하지만 큰 목록에 대한 메모리 효율적이지 않은 연산자 사용; 2. 효율적이지만 원래 목록을 수정하는 확장 방법을 사용하십시오. 3. 큰 데이터 세트에 적합한 itertools.chain을 사용하십시오. 4. 사용 * 운영자, 한 줄의 코드로 중소형 목록을 병합하십시오. 5. Numpy.concatenate를 사용하십시오. 이는 고성능 요구 사항이있는 대규모 데이터 세트 및 시나리오에 적합합니다. 6. 작은 목록에 적합하지만 비효율적 인 Append Method를 사용하십시오. 메소드를 선택할 때는 목록 크기 및 응용 프로그램 시나리오를 고려해야합니다.

CompiledLanguagesOfferSpeedSecurity, while InterpretedLanguagesProvideeaseofusEandportability

Python에서, for 루프는 반복 가능한 물체를 가로 지르는 데 사용되며, 조건이 충족 될 때 반복적으로 작업을 수행하는 데 사용됩니다. 1) 루프 예제 : 목록을 가로 지르고 요소를 인쇄하십시오. 2) 루프 예제 : 올바르게 추측 할 때까지 숫자 게임을 추측하십시오. 마스터 링 사이클 원리 및 최적화 기술은 코드 효율성과 안정성을 향상시킬 수 있습니다.

목록을 문자열로 연결하려면 Python의 join () 메소드를 사용하는 것이 최선의 선택입니다. 1) join () 메소드를 사용하여 목록 요소를 ''.join (my_list)과 같은 문자열로 연결하십시오. 2) 숫자가 포함 된 목록의 경우 연결하기 전에 맵 (str, 숫자)을 문자열로 변환하십시오. 3) ','. join (f '({fruit})'forfruitinfruits와 같은 복잡한 형식에 발전기 표현식을 사용할 수 있습니다. 4) 혼합 데이터 유형을 처리 할 때 MAP (str, mixed_list)를 사용하여 모든 요소를 문자열로 변환 할 수 있도록하십시오. 5) 큰 목록의 경우 ''.join (large_li

PythonuseSahybrideactroach, combingingcompytobytecodeandingretation.1) codeiscompiledToplatform-IndependentBecode.2) bytecodeistredbythepythonvirtonmachine, enterancingefficiency andportability.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Dreamweaver Mac版
시각적 웹 개발 도구