2016-03-21 54 views
0

我目前無法理解如何在做二次方程時出現虛數。我的任務是製作二次方程,並得到虛數,但我在那裏遇到了極其困難的時刻。 任何幫助你可以提供將是偉大的!在計算二次方程時,如何在不使用cmath的情況下得到虛數?

下面是代碼我目前有:

import math 

    print "Hello, please insert 3 numbers to insert into the quadratic equation." 

a = input("Please enter the first value: ") 

b = input("Please enter the second value: ") 

c = input("Please enter the third value: ") 

rootValue = b**2 - 4*a*c 

if rootValue < 0: 

    print (-b-(rootValue)**(.5))/(2 * a) 

if rootValue > 0: 
    print ((-b + (rootValue)**(1/2)) /(2 * a)) 

if rootValue == 0: 
    print -b/(2*a) 

請幫助!我現在很堅持。 我認爲你必須做一些問題,如果rootValue < 0;但我不知道該怎麼做。 我也不允許使用'import cmath',我應該讓它可以這樣做。

回答

0

除了如何表示複數外,代碼還有幾個問題。請記住,如果rootValue <> 0,有時總是有兩個根: (-b +/-開方(rootValue)/ 2A

  1. 如果rootValue是正還是負沒關係,還是有兩個根。你正在分支並且只提供每種情況下的兩個根中的一個。不需要前兩個if語句
  2. 要生成rootValue複數,以便在取平方根時可以得到複雜結果, (b 2 - 4 * a * c,0)或(b 2 - 4 * a * c,0)+ 0j。
  3. 您想要將事物提升至0.5根,不是e(1/2)功率,正如您在一個聲明中所做的那樣
  4. 爲了完整性,您可能需要處理a = 0的情況。

如果您仍有問題,請告訴我們。

相關問題