speed_of_light = 299792458.0
cycles_per_second = 2700000000.0
speed_of_light/cycles_per_second = x
print(x)
上述工作但是当我这样做时,我收到错误?这里的X是一个字符串。
speed_of_light = 299792458.0
cycles_per_second = 2700000000.0
speed_of_light/cycles_per_second = 'x'
print('x')
%run "/tmp/tmpMFc4pM.py"
File "/tmp/tmpMFc4pM.py", line 5
'x' = speed_of_light/cycles_per_second
> SyntaxError: can't assign to literal
答案 0 :(得分:2)
也许你的意思是:
speed_of_light = 299792458.0
cycles_per_second = 2700000000.0
x = speed_of_light/cycles_per_second
print (x)
正如其他人现在所指出的那样,变量应该在左边,然后是等号,然后是(在右边)你想要放入变量的东西。
答案 1 :(得分:2)
您无法为计算分配值。
speed_of_light/cycles_per_second = 'x'
是一项任务,而不是数学意义上的平等。
你可能想要反过来,将x
设置为speed_of_light/cycles_per_second
。换句话说,将speed_of_light/cycles_per_second
分配给x
:
x = speed_of_light/cycles_per_second
请注意,x
不会放入引号(这会使其成为字符文字),而只是x
,这意味着它是一个变量并且可以保存分配给它的任何值。
例如,您可以说
之类的内容age = 20
但不是
20 = age
虽然在数学方面它们是等价的,但第二项任务会给你收到的错误信息(SyntaxError: can't assign to literal
)。换句话说,您试图为文字(20)分配一个值,该文字除了它代表的内容之外不能保留任何其他值。
答案 2 :(得分:1)
如错误所示,您无法将可变金额分配给字符串文字,如x
。这就像说“冰淇淋”字符串现在等于2.71。这没有意义。
此外,您还具有相反的赋值语法。将其更改为
x = speed_of_light/cycles_per_second
这表示取右边的值并将其分配给左边的变量。