0

私はPythonが初めてで、以下のコードを作成しました。これは、登録またはログインを可能にする単純なログイン コードです。

これでログインできるようになりました。ご覧のとおり、変数にユーザー名とパスワードを入れていますdatabase

関数では、(ユーザー名、パスワード) の形式でリストにandをregister()追加しようとしているので、関数はそれを認識します。newusernamenewpassworddatabaselogin()

import time
import sys
import getpass

database = [
    ("Test1", "123"),
    ("Test2", "000")
    ]


def login():
    time.sleep(1)
    print("Welcome. Please login.")
    while True:
        time.sleep(1)
        username = input("Username: ")
        password = getpass.getpass("Password: ")
        time.sleep(1)
        if (username, password) in database:
            print("Welcome, " + username)
            main()
        else:
            print("User not found. Try again.")

def logout():
    time.sleep(1)
    print("Logout?")
    lgout = input(">>")
    if lgout == ("yes") or lgout == ("Yes") or lgout == ("YES"):
        time.sleep(1)
        print("Logout successful")
        main2()
    elif lgout == ("no") or lgout == ("No") or lgout == ("NO"):
        print("Logout unsuccessful")
        main()
    else:
        print("Command not valid")



def main():
    time.sleep(1)
    print("Current commands: Logout")
    while True:
        command = input(">>")
        if command == ("Logout"):
            logout()
        else:
            print("Command not valid")

def main2():
    time.sleep(1)
    print("Hello, would you like to login, register or exit?")
    while True:
        command2 = input(">>")
        if command2 == ("Login") or command2 == ("login") or command2 == ("LOGIN"):
            login()
        elif command2 == ("Register") or command2 == ("register") or command2 ==      ("REGISTER"):
            register()
        elif command2 == ("Exit") or command2 == ("exit") or command2 == ("EXIT"):
            sys.exit()
        else:
            print("Command not valid")

def register():
    print("Register your information below")
    newusername = input("Username: ")
    newpassword = getpass.getpass("Password: ")

    print("Success! Please login!")
    login()


main2() 

残念ながらdatabase["newusername"] = newpassword、辞書ではないため機能しません。

4

1 に答える 1

1

ここにある「データベース」はタプルのリストです。

リストの末尾に何かを追加するには、.append() を使用します。タプルを作成するには、コンマで区切られた値を含む括弧を使用します。これら2つをまとめると:

database.append( (newusername, newpassword) )
于 2013-05-23T22:27:53.833 に答える