[英]Calling a Function from an 'If' statement
我正在使用Python 3,并且尝试从if语句调用函数时遇到错误,以下代码是完整代码的简化版本,但结果相同,并且我一直在徘徊如何克服这一点并允许该程序运行student()函数
import sys
def logon():
print("Welcome, please enter your account type")
acctype = input()
if acctype == 'teacher':
sys.exit()
elif acctype == 'student':
student()
logon()
def student():
print("Please enter your name")
name = input()
print("Please enter your class number")
classnumber = input()
输入单词学生后出现问题,因为错误返回
NameError: name 'student' is not defined
Python从上到下运行代码。 每条def
行都会创建一个函数对象,并将其存储为全局名称。
运行logon()
行时,已执行def logon(): ...
语句,并且该函数存在。 然而, def student(): ...
声明尚未达到,所以没有这样的功能呢 。 因此,当logon()
函数尝试调用student()
函数时,您将收到NameError
异常。
将调用函数的logon()
行移到def student(): ...
语句下方 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.