Python追踪(最近一次通话)错误

时间:2018-06-29 13:07:53

标签: python traceback

我已经开始编码大约一周了,在练习创建形状计算器时,遇到了这样的错误:

Main

代码如下:

Traceback (most recent call last):
File "python", line 4
if option = 'C':
          ^
SyntaxError: invalid syntax

如果有人可以解释错误原因,我将不胜感激。

谢谢!

4 个答案:

答案 0 :(得分:3)

比较时,您必须使用===仅用于分配。

因此在您的示例中,该行应为

if option == 'C':

答案 1 :(得分:1)

是的,实际上这是每个人一开始都会犯的一个非常基本的错误:)
=运算符在代码中的含义与在数学中的含义不同。在这里,这意味着您要为变量分配一个值(您也可以将其视为可以在数学或其他编码语言中看到的:=运算符)。

您需要比较两个元素的运算符是==,它返回一个布尔值:TrueFalse

答案 2 :(得分:1)

值得一提的是,由于不需要输入大写字母(Shitf +字母),因此用户难以使用此代码。为了避免这种情况,只需使用lower()方法。

if option.lower() == "c":
   do_something()

现在,用户可以输入大写或小写字母(“ c”或“ C”),程序也没有什么不同。当然,在任何比较中都必须使用“ ==”的必要性。

答案 3 :(得分:0)

您也可以使用'is'

if option is 'C':

请勿使用等号“ ==”将对象与“无”进行比较 使用“是”代替

"etc" is None  # => False
None is None  # => True
# negate with not
not True  # => False
not False  # => True

# Equality is ==
1 == 1  # => True
2 == 1  # => False

# Inequality is !=
1 != 1  # => False
2 != 1  # => True