Python 回溯(最近调用最后)错误
Python Traceback (most recent call last) error
我已经开始编码大约一个星期了,在练习创建形状计算器时,我遇到了这样的错误:
Traceback (most recent call last):
File "python", line 4
if option = 'C':
^
SyntaxError: invalid syntax
代码如下:
print "The Calculator has been launched"
option = raw_input ("What shape is your object? Enter C for circle or T
for Triangle.")
if option = 'C':
radius = float (raw_input ("What is the radius of your circle?") )
area_1 = 3.14159 * ( radius ** 2)
print area_1
elif option = 'T':
base = float (raw_input ("What is the base of the triangle?"))
height = float (raw_input ("What is the corresponding height of the
triangle?"))
area_2 = (base * height) * 1/2
print area
else :
print "Please, enter a valid shape"
如果有人能解释错误的原因,我将不胜感激。
谢谢!
比较时必须使用 ==
。 =
仅用于赋值。
因此在您的示例中,该行应为
if option == 'C':
你也可以使用'is'
if option is 'C':
不要使用等号“==”来比较对象 None
使用 "is" 代替
"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
是的,这实际上是每个人一开始都会犯的一个非常基本的错误:)
=
运算符在代码中的含义与在数学中的含义不同。这里的意思是你想给一个变量赋值(你也可以把它想象成你可以在数学或其他编码语言中看到的 :=
运算符)。
您需要比较两个元素的运算符是 ==
,其中 returns 是一个布尔值:True
或 False
值得一提的是,由于需要输入大字母(Shitf + letter),此代码对于用户来说将难以使用。为避免这种情况,只需使用 lower() 方法。
if option.lower() == "c":
do_something()
现在,用户可以输入大小写字母("c"或"C"),程序将与此相同。当然,在任何比较中使用“==”的必要性是必要的。
我已经开始编码大约一个星期了,在练习创建形状计算器时,我遇到了这样的错误:
Traceback (most recent call last):
File "python", line 4
if option = 'C':
^
SyntaxError: invalid syntax
代码如下:
print "The Calculator has been launched"
option = raw_input ("What shape is your object? Enter C for circle or T
for Triangle.")
if option = 'C':
radius = float (raw_input ("What is the radius of your circle?") )
area_1 = 3.14159 * ( radius ** 2)
print area_1
elif option = 'T':
base = float (raw_input ("What is the base of the triangle?"))
height = float (raw_input ("What is the corresponding height of the
triangle?"))
area_2 = (base * height) * 1/2
print area
else :
print "Please, enter a valid shape"
如果有人能解释错误的原因,我将不胜感激。
谢谢!
比较时必须使用 ==
。 =
仅用于赋值。
因此在您的示例中,该行应为
if option == 'C':
你也可以使用'is'
if option is 'C':
不要使用等号“==”来比较对象 None 使用 "is" 代替
"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
是的,这实际上是每个人一开始都会犯的一个非常基本的错误:)
=
运算符在代码中的含义与在数学中的含义不同。这里的意思是你想给一个变量赋值(你也可以把它想象成你可以在数学或其他编码语言中看到的 :=
运算符)。
您需要比较两个元素的运算符是 ==
,其中 returns 是一个布尔值:True
或 False
值得一提的是,由于需要输入大字母(Shitf + letter),此代码对于用户来说将难以使用。为避免这种情况,只需使用 lower() 方法。
if option.lower() == "c":
do_something()
现在,用户可以输入大小写字母("c"或"C"),程序将与此相同。当然,在任何比较中使用“==”的必要性是必要的。