首页 > 解决方案 > 在 if 语句中调用函数 - Python3

问题描述

所以我试图用 Python3 在终端中编写一个登录对话框,但由于某种原因,这段代码:

def start():

    login_signin_Confirmation = input("Welcome! Do you wish to log-in to your account or sign up to this platform? \n")

    if login_signin_Confirmation == "login":
        
        login()
    else:
        signup()       
start()

def login():

    login_username = input("Great! start by typing in your username.")

    if login_username in users:
        print("Welcome Back, {login_username}")
login()

提示我此错误消息:

Welcome! Do you wish to log-in to your account or sign up to this platform? 
login
Traceback (most recent call last):
  File "login.py", line 22, in <module>
    start()
  File "login.py", line 19, in start
    login()
NameError: name 'login' is not defined

刚开始有些我不确定我做错了什么,我找不到有同样问题的人......

标签: pythonpython-3.x

解决方案


正如其他人指出的那样,您需要先定义,然后调用函数:

# imports first

# now definitions of functions

def start():
    login_signin_Confirmation = input("Welcome! Do you wish to log-in to your account or sign up to this platform? \n")
    if login_signin_Confirmation == "login":
        login()
    else:
        signup()       

def signup():
    pass

def login():
    login_username = input("Great! start by typing in your username.")
    if login_username in users:
        print("Welcome Back, {login_username}")


# main 
def main():
    start()

# guard multiprocess context
if __name__ == '__main__':
    main()


推荐阅读