[英]I keep on getting NameError: name 'a' is not defined?
def main():
a == 3
b = a + 1
c = b + 1
print(a)
if (a<0):
print(a<0)
print(c)
else:
print('a is not less than 0')
print(a)
我观看了有关Python编程的可汗学院视频#1,并尝试复制它,但它始终显示上面的错误。 感谢您的帮助,我是python的初学者
你是不是分配给a
; 相反,您正在使用double ==
测试是否相等:
a == 3
既然你没有分配到任何a
尚未与比较3
,在一个结果NameError
。
删除一个=
号来分配:
a = 3
所有这些都假定您的其余代码正确缩进以匹配其余功能:
def main():
a = 3
b = a + 1
c = b + 1
print(a)
if (a<0):
print(a<0)
print(c)
else:
print('a is not less than 0')
print(a)
==
用于比较测试。 您需要使用=
进行变量分配:
a = 3
另外,按照您的代码当前的状态, main
外部的内容将无法访问a
因为它在函数中是本地的。 因此,您需要将其缩进一级:
def main():
a = 3
b = a + 1
c = b + 1
print(a)
if (a<0):
print(a<0)
print(c)
else:
print('a is not less than 0')
print(a)
main()
我认为您需要以下代码:
def main():
a = 3
b = a + 1
c = b + 1
print(a)
if (a<0):
print(a<0)
print(c)
else:
print('a is not less than 0')
print(a)
main()
您希望if语句位于您要创建的函数中,在本例中为main()。 否则,将不会定义“ a”,因为它位于函数main()中。 欢迎使用python,并开始堆栈溢出!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.