亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我做錯了嗎?

我做錯了嗎?

料青山看我應如是 2022-08-25 14:50:39
我剛剛開始學習Python編程,我正在嘗試創建一個登錄系統,該系統使用終端并將數據存儲到JSON文件中并檢索它以登錄。這是導致問題的部件。def login():    login_username = input("Enter your username: ")    login_password = input("Enter your pass: ")    with open("data.json", 'r+') as data:        if login_username == username and login_password == password:            print("Successful Login")        else:            print("Please Try Again")            login()當我被要求輸入用戶和傳遞并且輸入與JSON中的數據匹配時,它將循環并要求一次又一次地輸入用戶名和密碼。我的整個代碼在下面import jsonuname = ""password =""def register():    uname = input("Enter a user to log in with: ")    password = input("Enter a password: ")    confirmed_pass = input("Enter the above password again")    if password != confirmed_pass:        print("Both the passwords does not match please re-enter a pass")        password = input("Enter a password:")        confirmed_pass = input("Enter the above password again")    login_info = {        "Username": uname,        "Password": password    }    with open("data.json", "w") as write_file:        json.dump(login_info, write_file, separators=(',', ':'))    log = input("Would you like to login? (Y/N)")    if log == 'Y' or log == "y":        login()    else:        quit()def login():    login_uname = input("Enter your username: ")    login_password = input("Enter your pass: ")    with open("data.json", 'r') as data:        if login_uname == uname and login_password == password:            print("Successful Login")        else:            print("Please Try Again")            login()reg = input("Have you registered (Y/N) ?:  ")if reg == 'Y' or reg == 'y':    login()elif reg == 'N' or reg == 'n':    register()else:    print("Error!")
查看完整描述

1 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

根據您的代碼,您應該首先使用json.load將數據加載到python字典中:

with open("data.json", 'r') as data:
    login = json.loads(data.read())    # then you can use it like this
    if login_username == login['Username'] and login_password == login['Password']:
        ... Rest of the code

只是一個頭,您的登錄名僅適用于最后一個注冊用戶,您應該解決這個問題。


查看完整回答
反對 回復 2022-08-25
  • 1 回答
  • 0 關注
  • 77 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號