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用户
答案 0 :(得分:4)
您未分配给a
;你用双==
来测试相等性:
a == 3
由于您未向a
分配任何内容,尚未与3
进行比较,因此会产生NameError
。
删除一个=
符号来代替:
a = 3
这一切都假定您的代码的 rest 正确缩进以匹配您的其余功能:
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)
答案 1 :(得分:1)
==
用于比较测试。您需要使用=
进行变量赋值:
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()
答案 2 :(得分:0)
我想你想要以下代码:
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,并堆栈溢出!