python程序中的速度程序

时间:2013-10-28 02:31:12

标签: python

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

3 个答案:

答案 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

这表示取右边的值并将其分配给左边的变量。