有什么方法可以从多次运行的函数中保存值吗?
Is there any ways to save a value from a function which runs several times?
嗯,我是Python的相对初学者,我想做一个简单的登录功能,但是我运行遇到了问题。
def login():
loginTries = 0
loginName = str(input("\nPlease enter your username: "))
loginPassword = str(input("Please enter your password: "))
if loginName not in loginNames or loginPassword != realLoginPassword:
print("\nOops! You typed something wrong. Try again!")
loginTries += 1
while loginTries < 4:
login()
else:
register()
return
我原计划在三次尝试不成功后重定向到另一个(注册)函数,但问题是我无法计算该函数重复了多少次,因为每次输入的值都会被重置重复。我画的是上图,但是我之前写的,没有保存值。
最简单的方法可能是创建一个单独的函数来处理尝试。您必须稍微调整您的登录功能以 return 预期值,但您可以这样做:
def handle_login():
login_attempts = 0
while login_attempts < 3:
success = login()
if success == True:
break
else:
login_attempts += 1
if success == True:
# redirect to login
else:
# redirect to register
嗯,我是Python的相对初学者,我想做一个简单的登录功能,但是我运行遇到了问题。
def login():
loginTries = 0
loginName = str(input("\nPlease enter your username: "))
loginPassword = str(input("Please enter your password: "))
if loginName not in loginNames or loginPassword != realLoginPassword:
print("\nOops! You typed something wrong. Try again!")
loginTries += 1
while loginTries < 4:
login()
else:
register()
return
我原计划在三次尝试不成功后重定向到另一个(注册)函数,但问题是我无法计算该函数重复了多少次,因为每次输入的值都会被重置重复。我画的是上图,但是我之前写的,没有保存值。
最简单的方法可能是创建一个单独的函数来处理尝试。您必须稍微调整您的登录功能以 return 预期值,但您可以这样做:
def handle_login():
login_attempts = 0
while login_attempts < 3:
success = login()
if success == True:
break
else:
login_attempts += 1
if success == True:
# redirect to login
else:
# redirect to register