[英]Python code not continuing after while loop
我是使用 python 的初学者,所以这可能是一个愚蠢的问题。 我正在尝试制作一个登录程序来练习我到目前为止所学到的知识,但是在满足 while 条件后,python 不会继续阅读我的其余代码,这是我的代码,以防您不明白我的意思
def register():
confirm_user = ""
username_reg = ""
pass_enter = ""
pass_confirm = ""
while confirm_user == "yes":
username_reg = input("Please enter a username you would like to use: ")
confirm_user = input("Would you like to confirm this username?: ")
if confirm_user == "yes":
username_enter = open("username.py", 'w')
username_enter.write(username_reg)
raise Exception("Username created successfully!")
elif confirm_user == "no":
print("Choose a different username")
else:
print("Invalid input please enter yes or no")
while pass_enter != pass_confirm:
pass_enter = input("Please enter a password you would like to use: ")
pass_confirm = input("Please confirm password by re-typing it: ")
if pass_enter == pass_confirm:
password_enter = open("password.py", 'w')
password_enter.write(pass_enter)
elif pass_enter != pass_confirm:
print("Passwords do not match please re-enter password and re-confirm")
def login():
pass_log = ""
user_log = ""
pass_check = open("password.py", 'r')
user_check = open("username.py", 'r')
while user_log != user_check.readline():
user_log = input("Please enter your username: ")
if user_log != user_check.readline():
print("This username does not exist, please enter a valid username")
elif user_log == user_check.readline():
while pass_log != pass_check.readline():
pass_log = input("Please enter your password: ")
if pass_log != pass_check.readline():
print("This password is incorrect, please re-enter your password")
elif pass_log == pass_check.readline():
print("Welcome back " + user_check.readline())
intro = input("Welcome, to login type 'login' to register a new account type 'register': ")
if intro == "register":
register()
elif intro == "login":
login()
输入“注册”并输入用户名并说“是”以确认程序停止后,不会继续注册()函数的其余部分,我不知道为什么......
有几个错误。
确认用户 = ""
在开始时,我们只启动 while-Loop 如果
Confirm_user = "是"
我把它改成一个布尔值,当循环中的状态发生变化时
确认用户==“是”
写入后应关闭文件,并将“w”更改为“a”,以便附加新用户并且不会覆盖文件
以下行将终止程序,因为我们说发生了异常。
raise Exception("用户名创建成功!")
在第二个 while-Loop 中,我们遇到了与第一个相同的问题
与写入密码文件相同
def register():
confirm_user = ""
confirmed = False
username_reg = ""
pass_enter = ""
pass_confirm = ""
same = False
while confirmed == False:
username_reg = input("Please enter a username you would like to use: ")
confirm_user = input("Would you like to confirm this username?: ")
if confirm_user.lower() == "yes":
confirmed = True
username_enter = open("username.txt", 'a')
username_enter.write(username_reg)
username_enter.close()
print("Username created successfully!")
while same == False:
pass_enter = input("Please enter a password you would like to use: ")
pass_confirm = input("Please confirm password by re-typing it: ")
if pass_enter == pass_confirm:
same = True
else:
print("Passwords do not match please re-enter password and re-confirm")
password_enter = open("password.txt", 'a')
password_enter.write(pass_enter)
password_enter.close()
def login():
pass_log = ""
user_log = ""
pass_check = open("password.py", 'r')
user_check = open("username.py", 'r')
while user_log != user_check.readline():
user_log = input("Please enter your username: ")
if user_log != user_check.readline():
print("This username does not exist, please enter a valid username")
elif user_log == user_check.readline():
while pass_log != pass_check.readline():
pass_log = input("Please enter your password: ")
if pass_log != pass_check.readline():
print("This password is incorrect, please re-enter your password")
elif pass_log == pass_check.readline():
print("Welcome back " + user_check.readline())
intro = input("Welcome, to login type 'login' to register a new account type 'register': ")
if intro == "register":
register()
elif intro == "login":
login()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.