所以我对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")
那么,我是否需要制作与课程相关的内容? 比如,用户是对象? 但我如何保存这些数据呢?
请帮帮我
编辑:对代码进行了一些小修改,修复了错误,但现在我还有其他...
答案 0 :(得分:1)
这是你的问题:
if (loginusername == username , loginpassword == password):
这会创建一个包含两个布尔值的元组,并询问该元组是否真实。既然它不是空的,那就是。因此,if
语句的正文始终执行。
你想:
if loginusername == username and loginpassword == password:
你在其他地方犯了同样的错误。
N.B。您不需要在括号中的if
语句中包含条件。