Python 为什么程序没有经过循环?
我正在制作一个程序,它可以检查文件中的用户名和密码,也可以添加到文件中。 但是在注册时,当我尝试检查用户名是否已经在文件中时,它会完全忽略它并转到下一行。有办法解决吗?我以前让它工作过,但因为我把它变得更复杂了,它就停止工作了Python 为什么程序没有经过循环?,python,Python,我正在制作一个程序,它可以检查文件中的用户名和密码,也可以添加到文件中。 但是在注册时,当我尝试检查用户名是否已经在文件中时,它会完全忽略它并转到下一行。有办法解决吗?我以前让它工作过,但因为我把它变得更复杂了,它就停止工作了 import sys def login(): while True: username = input("Please enter the username: ") password =
import sys
def login():
while True:
username = input("Please enter the username: ")
password = input("Please enter the password: ")
userpass = (username + ":" + password)
file = open("UserPass.txt", "r")
for line in file:
if userpass in line:
print("Login Successful!")
sys.exit()
print("Incorrect credentials!")
start()
def register():
while True:
username = input("Please enter a username: ")
file = open("UserPass.txt", "a+")
for line in file:
if username in line:
print("That username is already in use!")
start()
password = input("Please enter a password: ")
userpass = (username + ":" + password)
file.write(userpass + "\n")
print("Successfully registered!")
sys.exit()
def start():
while True:
choice = input("Do you want to login or register?: ")
if choice == "login":
login()
break
elif choice == "register":
register()
break
else:
print("Not a valid choice.")
start()
您正在登录和注册中使用sys.exit以保持文件打开。使用file.Close关闭文件