Python之簡單的用戶登錄和注冊


# -*- coding: utf-8 -*-
# @Time    : 2018/7/26 20:16
# @Author  : Adam
# @File    : exam2.py
# @Project: kechen10

''''''
'''
使用python基礎代碼實現如下功能(不需要web):
    一、用戶注冊功能
       需求:實現用戶注冊功能,並將用戶注冊信息保存到磁盤文件中,用戶注冊時至少給定:用戶名和密碼
    二、用戶登錄功能
       需求:根據系統提示,用戶輸入用戶名和密碼,當用戶名和密碼給定正確的時候,顯示登錄成功,
       否則登錄失敗;如果連續3次登錄失敗,那么該賬戶鎖死1分鍾
備注:要求給定可直接運行的代碼壓縮文件,並至少給出5張代碼運行的截圖

'''

def regist():
    flag2=True
    while flag2:
        username = input("請輸入用戶名:")
        if not user_exist(username):
            flag2=False

    flag=True
    while flag:
        password = input("請輸入密碼:")
        passwordnew = input("請再次輸入密碼:")
        if(password==passwordnew):
            flag=False
    with open('users.log','a',encoding='utf-8') as f:
        temp='\n'+username+"$"+password
        f.write(temp)
    print("用戶{}注冊成功,請牢記用戶名和密碼",username)
    return True

def user_exist(username):
    with open('users.log','r',encoding='utf-8') as f:
        for line in f:
            line=line.strip()
            line_list=line.strip("$")
            if username==line_list[0]:
                return True
    return False

def login():
    username = input("請輸入用戶名:")
    password = input("請輸入密碼:")
    with open('users.log', 'r', encoding='utf-8') as f:
        for line in f:
            line = line.strip()
            line_list = line.split("$")
            print("...",line_list)

            if not line_list=='':
                if username==line_list[0] and password==line_list[1]:
                    print("用戶{}登錄成功",username)
                    return True
    return False

if __name__ == '__main__':
    print("歡迎登陸瑞的系統")
    inp = input("1: 登陸;2: 注冊")
    if inp == "1":
        is_login = login()
        if is_login:
            print("登錄成功")
        else:
            print("登錄失敗")
    elif inp=='2':
        result = regist()
        if result:
            print("注冊成功")
        else:
            print("注冊失敗")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM