2016-11-09 3 views
-1

私はプロジェクトのターンベースのゲームを制作しており、ユーザーのログインユーザー名とパスワードをゲームフォルダの場所にあるファイルに保存するユーザーログインシステムを作成したいと考えています。新しいユーザーがログインを作成しようとしたときに、メモ帳ファイルを使用してそのユーザー名のアカウントが既に存在するかどうかを確認したいと思います。ユーザーの詳細をログインシステムのファイルに保存しますか?

このコードで私はこれを試みましたが間違っていますか?あなたの代わりにラインのすべての行を読んでそうif login in UserDataをチェックするopenfile.readlines()を使用する必要があるファイルの場合

filename = 'UserInfo.txt' 
openfile = open(filename, "r")               
UserData = openfile.readline() 
def displayMenu(): 
    print (UserData) 
    status = input("Are you a registered user? y/n? ") 
    if status == "y": 
     oldUser() 
    elif status == "n": 
     newUser() 

def newUser(): 
    createLogin = input("Create login name: ") 

    if createLogin in UserData: 
     print ("Login name already exist!") 
    else: 
     createPassw = input("Create password: ") 
     UserData[createLogin] = open('UserInfo','w') 
     print("User created!")  
def oldUser(): 
    login = input("Enter login name: ") 
    passw = input("Enter password: ") 
    if login in UserData and UserData[login] == passw: 
     print ("Login successful!") 
    else: 
     print ("User doesn't exist or wrong password") 
displayMenu() 
+0

:だから、あなたはまた、openfile.readlines() はまた、あなたは、読み取りモードでそれを開いた後、ファイルを閉じることを忘れないでくださいまたはそうでなければ文句を言わないあなたがそれに書いてみましょうすべてのラインだけではなく、1行を読む必要がopen('UserInfo.txt', 'a')

を書きますそれが間違っているかどうかはわかりません。あなたに教えてください。ルール[ヘルプ]、[mcve]、[faq]を読む時間が必要です。 –

+0

私はそれが間違っていると言いました、誰かがメモ帳ファイルにユーザーの詳細を保存するようにコードを修正できるかどうか尋ねていただけですか? – Sam

+0

はい、間違っていることを教えてくれませんでした。名前を保存しませんか?それはエラーを投げますか?フォーマットが間違っていますか?あなたの先生は宿題のためにそれを受け入れていませんでしたか?私たちは分かりません。 –

答えて

1

本当にエラーメッセージを表示する必要がありますが、私は何が間違っているかを見つけたと思います。 newUser()では、'UserInfo'ではなく、'UserInfo.txt'もモードでないモードで開きます。

openfile = open(filename, "r") 
UserData = openfile.readline() 
openfile.close(); 
+0

ありがとう、これはそれを修正したようです。 – Sam

+0

@Sam問題なし^^ –

1

。また、新しいユーザーを作成するときは、ファイル内の既存のデータを上書きするのではなく、新しいユーザーをファイルに追加する必要があります。したがって、open('UserInfo.txt', 'w')を使用する代わりに、open('UserInfo.txt', 'a')のようなモードのaを開いて、ファイルの最後に新しいデータを追加する必要があります。

+0

ありがとうございました。 – Sam

関連する問題