2015-11-24 84 views
-6

的公式我有解決這個方程的一個問題:解決與Python

ra = (1.5 * (ca - (ra/2))/(1 + 0.8 * (ca - (ra/2)))) 

我必須輸入變量「CA」爲float,然後蟒蛇必須找到我「RA的價值「

在此先感謝

+4

OK。那麼你想讓我們做什麼?爲你做作業嗎? – MattDMo

+1

這就是大多數人在這裏問他們的第一個問題想要... – Galax

+0

使用像WolframAlpha.com,楓樹,八度,Matlab不同的工具 – furas

回答

2

你可以做這樣的事情與sympy庫。

http://docs.sympy.org/dev/index.html

>>> from sympy import * 
>>> from sympy.solvers import solve 

>>> ca, ra = symbols("ca ra") 

>>> eq = -ra + (1.5 * (ca - (ra/2))/(1 + 0.8 * (ca - (ra/2)))) 

>>> print(eq) 
-ra + (1.5*ca - 0.75*ra)/(0.8*ca - 0.4*ra + 1) 

>>> solutions = solve(eq, ra) #solve equation for ra 
>>> print(solutions) 
[ca - 0.0625*sqrt(256.0*ca**2 + 160.0*ca + 1225.0) + 2.1875, 
ca + 0.0625*sqrt(256.0*ca**2 + 160.0*ca + 1225.0) + 2.1875] 

>>> values = [s.replace(ca, 5) for s in solutions] #get solutions for ca=5 

[1.45076257791068, 12.9242374220893] 

顯然,你需要從您的用戶得到一個號碼ca而不只是求解ca=5。 OK。

1

您在」ra「的定義中使用」ra「。你應該通過求解這個方程式去除右邊的「ra」(你可以使用不同的工具,如wolframalpha或matlab或你的紙和筆)。

0

您需要找到一種方法讓您的價值輸入到ca並斷言它是一個浮動。

input經常用於命令行應用程序(在終端中工作)的這種用途,但如果您使用的是早期的Python解釋器,則需要查看raw_input

類似:

ca = input('Please type a float: ')

這應該讓你開始。您需要聲明ca是一個浮點數(檢出assert作爲處理這種情況的可能選項)。

那麼你應該創建一個函數,它接受ca作爲參數和輸出ra

喜歡的東西

def calculate(n): 
    ... 
    return x 
+0

爲了把輸入變成一個浮點數,你需要使用float()來轉換它。 'input()'只在Python 3中返回一個字符串。 – MattDMo

+0

我知道如何使用python中的函數,文件和其他東西,像(dicts,sets,lists),但我真的不知道如何解決這個問題:/ – IEMSlovenia