我如何使这个python登录/注册程序工作? (我是python的新手)

时间:2018-01-25 19:39:46

标签: python python-3.x login

所以我对python很新(在尝试学习python之前知道C#)并且我想创建一个小登录/注册程序,我写了所有,理论上(至少对我而言)它会起作用,但事实并非如此,它不依赖于该帐户的存在与否...

如何使此计划有效?

command = ""
username = ""
password = ""

def Register():
    global username
    global password
    username = input("Username: ")
    password = input("Password: ")

    f = open("userinfo.txt", "a")
    f.write("--------------------")
    f.write("\n%s information:\n"%(username))
    f.write("%s \n"%(username))
    f.write("%s \n"%(password))
    f.write("--------------------")

def Login():
    global username
    global password
    f = open("userinfo.txt", "r")
    f.readline()
    f.readline()
    username = f.readline()
    password = f.readline()
    f.readline()
    return username
    return password

def CheckLogin():
    global username
    global password
    global loginusername
    global loginpassword

    if loginusername == username and loginpassword == password:
        print("You´ve logged in, wait for next updates")

    elif loginusername == username and loginpassword != password:
        print("Wrong password")

    elif loginusername != username and loginpassword == password:
        print("Wrong username")

    elif loginusername != username and loginpassword != password:
        print("Wrong login information, restart the program and register to create an account")

    else:
        print("ERROR: Uknown error")


command = input("Would you like to login or register?\n")
if (command == "register"):
    Register()
    print("Done!")

elif (command == "login"):
    print("--------LOGIN--------")
    loginusername = input("Username: ")
    loginpassword = input("Password: ")
    Login()
    CheckLogin()



else:
    print("Invalid command")
    print("Please restart the program and try again")

那么,我是否需要制作与课程相关的内容? 比如,用户是对象? 但我如何保存这些数据呢?

请帮帮我

编辑:对代码进行了一些小修改,修复了错误,但现在我还有其他...

1 个答案:

答案 0 :(得分:1)

这是你的问题:

if (loginusername == username , loginpassword == password):

这会创建一个包含两个布尔值的元组,并询问该元组是否真实。既然它不是空的,那就是。因此,if语句的正文始终执行。

你想:

if loginusername == username and loginpassword == password:

你在其他地方犯了同样的错误。

N.B。您不需要在括号中的if语句中包含条件。