프로젝트 공유: 아날로그 블로그 로그인
설명:
프로젝트 코드는 순전히 본인이 작성한 것으로 표절, 전재 등 어떠한 상황도 없기 때문에 매우 low하게 썼습니다. 여러분만 참고할 수 있고 모르는 것이 있으면 언제든지 댓글을 남깁니다.
프로젝트 요구 사항:
소스:
def register():
    """
      :      
      :                            ,          
    :return: None
    """
    flag1 = True
    while flag1:
        username = input("     (        ):")
        password = input("     (6~14  ):")
        if not username.isalnum():
            print("          ,     !")
        elif not 6 <= len(password) <= 14:
            print("      ,     !")
        else:
            f1.seek(0)
            for el in f1:
                if username in el.split(":")[1]:
                    print("      ")
                    break
            else:
                print("    !")
                f1.write(f"
{0}:{username}:{password}")
                flag1 = False
def login():
    """
      :      
      :          
    :return: str ——> None
    """
    global flag,username,visit
    count = 3
    while count:
        username = input("     :")
        password = input("     :")
        f1.seek(0)
        for el in f1:
            num, user, pwd = el.strip().split(":")
            if num == "1":
                print("      !      !")
                return
            elif username == user:
                if password == pwd:
                    print("    !")
                    visit = True
                    return
                else:
                    count -= 1
                    print(f"      ,     (    :{count})")
                    break
        else:
            print("     ,    !")
    else:
        print("      !      !")
        f1.seek(0)
        for el in f1:
            if el.strip().split(":")[1] == username:
                f2.write(el.replace("0", "1", 1))
            else:
                f2.write(el)
        flag = True
def article():
    """
      :      
      :     
    :return: None
    """
    print(f"  {username}      ")
def comment():
    """
      :        
      :     
    :return: None
    """
    print(f"  {username}      ")
def diary():
    """
      :        
      :     
    :return: None
    """
    print(f"  {username}      ")
def collect():
    """
      :        
      :     
    :return: None
    """
    print(f"  {username}      ")
def logout():
    """
      :    
      :           False
    :return: None
    """
    global visit
    print("    ")
    visit = False
def drop_out():
    """
      :  
      :  exit()  
    :return:None
    """
    print("       !")
    exit()
function = {
    "1": register,
    "2": login,
    "3": article,
    "4": comment,
    "5": diary,
    "6": collect,
    "7": logout,
    "8": drop_out,
}
msg = f"""{'   '.center(15, "*")}
1.  
2.  
3.      
4.      
5.      
6.      
7.    
8.  
     :"""
import os
flag = False
visit = False  #       
while True:
    with open("userinfo.txt", "r+", encoding="utf-8") as f1, \
            open("userinfo_  .txt", "w", encoding="utf-8") as f2:
        choose = input(msg)
        if choose in function:  #    choose      
            if visit:  #              ,        3~7
                if choose in ["1", "2"]:  #            
                    print("    ,    !")
                else:
                    function[choose]()  #       
            elif choose in ["1", "2", "8"]:  #     "1"、"2"、"8"  
                function[choose]()
            else:
                print("    ")
        else:
            print("      ,     !")
    if flag:  #     
        os.remove("userinfo.txt")
        os.rename("userinfo_  .txt", "userinfo.txt")
        flag = False
        exit()
                이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.