2014-09-23 116 views
0

基本上我寫了這個代碼..Sympy不處理浮點數

import sympy 
number = 5.62527e-11; 
f = sympy.Symbol('f'); 
answer = sympy.solve(Eq(f,number),f); 
print(answer); 

,並如預期的答案是 「5.62527e-11」

,但是當我改變 「5.62527e-11」 到「 5.62527e-67「並運行相同的代碼...我得到 [0.0]作爲輸出是尷尬的...它是爲」E-11「工作,但」E-67「失敗有人可以請exp- lain爲什麼發生這種情況..有人可以告訴我解決方案...我需要針對此問題的解決方案

注意:上面的代碼是ju st一段實際的代碼...我必須以同樣的方式運行它...所以任何人都可以幫我處理這個數字嗎?

在此先感謝

+0

你並不需要把分號在在Python線的末端。 – asmeurer 2014-09-23 18:08:02

回答

0

使用一個符號,而不是數量(和結束時,如果有必要替換它):

>>> from sympy import * 
>>> number = Symbol('5.62527e-11') 
>>> f = sympy.Symbol('f'); 
>>> sympy.solve(Eq(f,number),f) 
[5.62527e-11]