displayMenu() - 函数未定义错误
displayMenu() - function is not defined error
菜单为用户提供了输入选项。主要重点是让函数被调用而不会像以前那样出现错误。解决方案是我的代码格式不正确。先显示()然后登录()和注册()。
分辨率:
def displayMenu():
global menu_input
menu_input = input("Please enter one of the following options:\n r - register user\n a - add task\n va- view all tasks\n vm - view my tasks\n e - exit\n")
if menu_input == "r":
register()
elif menu_input == "a":
add_task()
elif menu_input == "va":
view_all()
elif menu_input == "vm":
view_more()
elif menu_input == "e":
exit()
return menu_input
displayMenu()
def login():
username = input("Please enter your username?:\n")
password = input("Please enter your password?:\n")
for line in open("user.txt","r").readlines():
field = line.strip().split(",")
if username == field[0] and password == field[1]:
print("Username & Password Correct!\n")
return True
print("Username & Password Incorrect\n")
return False
login()
def register():
register = False
while register == False:
username = input("Please enter a username?: ")
password = input("Please enter a password?: ")
password_check = input("Please re-enter the password?:")
if password == password_check:
file = open("user.txt","a")
file.write (username)
file.write (",")
file.write (password)
file.write("\n")
file.close()
register = True
print ("Your login details have been saved. ")
else:
print("Passwords doesn't match!")
register()
您应该在调用 displayMenu()
之前声明 register
函数。
尝试将函数声明移到代码的顶部。
我的解决方案是将我的函数 login() 移到我所有其他函数的下方而不调用它们,除非在 displayMenu() 和 displayMenu_Admin() 中。
此外,由于我没有完全理解这个概念,所以我不得不阅读 functions()。
菜单为用户提供了输入选项。主要重点是让函数被调用而不会像以前那样出现错误。解决方案是我的代码格式不正确。先显示()然后登录()和注册()。
分辨率:
def displayMenu():
global menu_input
menu_input = input("Please enter one of the following options:\n r - register user\n a - add task\n va- view all tasks\n vm - view my tasks\n e - exit\n")
if menu_input == "r":
register()
elif menu_input == "a":
add_task()
elif menu_input == "va":
view_all()
elif menu_input == "vm":
view_more()
elif menu_input == "e":
exit()
return menu_input
displayMenu()
def login():
username = input("Please enter your username?:\n")
password = input("Please enter your password?:\n")
for line in open("user.txt","r").readlines():
field = line.strip().split(",")
if username == field[0] and password == field[1]:
print("Username & Password Correct!\n")
return True
print("Username & Password Incorrect\n")
return False
login()
def register():
register = False
while register == False:
username = input("Please enter a username?: ")
password = input("Please enter a password?: ")
password_check = input("Please re-enter the password?:")
if password == password_check:
file = open("user.txt","a")
file.write (username)
file.write (",")
file.write (password)
file.write("\n")
file.close()
register = True
print ("Your login details have been saved. ")
else:
print("Passwords doesn't match!")
register()
您应该在调用 displayMenu()
之前声明 register
函数。
尝试将函数声明移到代码的顶部。
我的解决方案是将我的函数 login() 移到我所有其他函数的下方而不调用它们,除非在 displayMenu() 和 displayMenu_Admin() 中。
此外,由于我没有完全理解这个概念,所以我不得不阅读 functions()。