2013-10-28 23 views
0
speed_of_light = 299792458.0 
cycles_per_second = 2700000000.0 
speed_of_light/cycles_per_second = x 
print(x) 

上面的工程,但是當我這樣做,我得到一個錯誤? X在這裏是一個字符串。python程序中的速度程序

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 

回答

2

也許你的意思是:

speed_of_light = 299792458.0 
cycles_per_second = 2700000000.0 
x = speed_of_light/cycles_per_second 
print (x) 

正如其他人所指出的現在,該變量應該是在左邊,然後等號,然後(右側)的東西,你想要放入變量。

2

您不能賦值給計算。

speed_of_light/cycles_per_second = 'x'是一項任務,而不是數學意義上的平等。

你可能是想做相反的事,把x設置爲speed_of_light/cycles_per_second。換句話說分配speed_of_light/cycles_per_secondx

x = speed_of_light/cycles_per_second 

注意x沒有投入引號(這將使字符文字),而是簡單地x,這意味着它是一個變量,可容納分配給任何價值它。

例如,你可以說像

age = 20 

但不

20 = age 

而在數學方面,他們是等價的,第二個任務會給你你收到的錯誤消息(SyntaxError: can't assign to literal) 。換句話說,你試圖爲一個文字賦值(20),除了它所代表的內容之外,它不能包含任何其他值。

1

正如錯誤所述,您不能將一個變量的值賦給像x這樣的字符串文字。這就像說「冰淇淋」字符串現在等於2.71。這沒有意義。

此外,您有分配語法顛倒。將其更改爲

x = speed_of_light/cycles_per_second 

這表示採取右側的值並將其分配給左側的變量。