下面您可以看到,当我试图调用存储在变量中的mainLogin()
函数时,它表示尚未定义该函数。你知道吗
我知道有办法,但似乎想不出来。你知道吗
validUser = {}
answer = ""
answer = mainLogin()
def mainLogin():
while True:
print("Are you currently a registered user [y/n]: ")
answer = input().lower()
if answer in "y n".split():
return answer
else:
print("Error: please enter [y/n].")
def Login(answer):
if answer == "y":
while True:
askUsername = input("ENTER USERNAME: ")
askPassword = input("ENTER PASSWORD: ")
if len(askUsername) > 0 and askUsername.isalpha():
if askUsername in validUser and valid[askUsername] == askPassword:
print("\nLogin Success!\n")
break
else:
print("Error: Incorrect username or password!")
else:
print("Error: Don't be silly!")
elif answer == "n":
while True:
createUsername = input("ENTER NEW USERNAME: ")
if len(createUsername) > 0 and createUsername.isalpha():
if createrUsername in validUser:
print("Meesage: username already exists.")
else:
createPassword = input("ENTER NEW PASSWORD: ")
if len(createPassword) > 0 and createPasssword.isalpha():
validUser[createUsername] == createPassword
print("\nUSER CREATED\n")
else:
print("Error: Please choose a different password.")
else:
print("Error: Don't be silly!")
else:
print("Error: You have not entered [y/n]")
不能将未定义的函数赋给变量,先定义函数,然后再赋给变量。像这样:
把
answer = mainLogin()
放在文件的底部。你知道吗下面的函数尚未被python注册。 Python将一行一行地运行您的脚本/模块。当您在模块的根目录中有代码时,它将被执行。你知道吗
要解决此问题,还可以执行以下操作:
在这里,python将在我们开始任何工作之前从上到下检查整个文件。这是解决问题的标准方法。你知道吗
__name__
是模块的名称。如果我们特别使用python命令启动模块,那么它将被分配名称__main__
。python script.py
。如果我们从另一个脚本导入模块,__name__
将包含模块的实际名称,因此main()
将不会被调用。你知道吗相关问题 更多 >
编程相关推荐