有什么方法可以从多次运行的函数中保存值吗?

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