变量未定义,但我已经定义了变量

时间:2020-05-16 04:07:44

标签: python python-3.x

这是一个将两个数字相加的简单程序:

1 print("Testing again")
2 print(a)
3 a = input()
4 print(a)
5 b = input()
6 c = int(a) + int(b)

我是使用vscode的初学者。因此,我正在尝试解决问题。 代码错误

>>> print(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined

4 个答案:

答案 0 :(得分:2)

a = input()  <--  Definition

print(a) <--  Calling

如果愿意

print(a)

在定义

之前
a = something

a那时从未定义过,会给您带来错误。

答案 1 :(得分:1)

您在第3行中的分配之前,在第2行中使用 a

1 print("Testing again")
2 print(a)
3 a = input()
4 print(a)
5 b = input()
6 c = int(a) + int(b)

由于在第4行上打印a(在设置之后),您可能就可以摆脱第2行。或者,如果您想同时打印两个变量,请确保在设置它们之后执行以下操作:

1 print("Testing again")
2 a = input()
3 print(a)
4 b = input()
5 print(b)
6 c = int(a) + int(b)
7 print(c)

答案 2 :(得分:0)

Python被称为解释型语言。 Python运行第1行,第2行等代码。

因此,如果您在第2行中定义了一个变量并将其打印出来,则python不会将其识别为已定义变量。

所以你应该像这样

1 print("Testing again") 2 a = input() 3 print(a) 4 b = input() 5 print(b) 6 c = int(a) + int(b) 7 print(c)

答案 3 :(得分:0)

有几个小错误:

1)您需要使用“ Ctrl + S”保存文件

2)您必须使用bash或PowerShell(如何将git bash与vscode [https://youtu.be/Wnx8jOtvDPo]集成在一起)

3)然后,您必须在终端中运行“ python test1.py”,而不是shift输入。

enter image description here