0

我是 Python 新手,我在下面编写了这段代码。这只是一个简单的登录代码,可让您注册或登录。

现在我可以登录了。如您所见,我将用户名和密码放在变量中database

在函数中register(),我试图以(用户名,密码)的形式将newusernameand添加newpassword到列表中,以便函数看到它。databaselogin()

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()。要构造元组,请使用包含以逗号分隔的值的括号。把这两个放在一起:

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