2016-09-05 7 views
3

私は二次式を使ってxを解くpythonコードを作った。記号を除いてすべてが最終的に機能します。あなたはX^2 + 10xの+ 25、私のコードの出力-5を考慮したい場合例えば、-5答えはあるべきとき5、5Quadractic Formula mix up

def quadratic_formula(): 
    a = int(input("a = ")) 
    b = int(input("b = ")) 
    c = int(input("c = ")) 
    bsq = b * b 
    fourac = 4 * a * c 
    sqrt = (bsq - fourac) ** (.5) 
    oppb = -b 
    numerator_add = (oppb) + (sqrt) 
    numerator_sub = (oppb) - (sqrt) 
    twoa = 2 * a 
    addition_answer = (numerator_add)/(twoa) 
    subtraction_answer = (numerator_sub)/(twoa) 
    print(addition_answer) 
    print(subtraction_answer) 
+1

答えは-5です-5 - xを答えに置き換えて(-5)^ 2 + 10(-5)+ 25 = 25-50 + 25 = 0を見てください – Mark

+0

はい、それは奇妙ですあなたはx^2 + 10x + 25の代わりにx^2 - 10x + 25を得ます( – Gabbi

+1

)その答えを(x-5) ctファクタリングされたバージョンは(x + 5)^ 2です。 -5 –

答えて

5

あなたのソリューションは結構です、のsympyを使用してそれを証明しましょう:、あなたが見ることができるように-5 5

>>> (x**2+10*x+25).subs(x,5) 
100 

は今、いない間...あなたはあなたの2つの根を展開すると根の一つである

>>> (x**2+10*x+25).subs(x,-5) 
0 

[-5、-5]のような:

>>> ((x+5)*(x+5)).expand() 
x**2 + 10*x + 25 

結果が一致するように表示されます。

実際には、あなたも根を確認することができますが、二次方程式の表示が正しいです:

enter image description here

を私は強くあなたがThe Quadratic Formulaの概念を見直しお勧めしますと、それは明らかだときだけ、コードに戻ってきます

+0

OH right。私は-5がxでないことを完全に忘れていました(x + __ <--here)。お返事 – Gabbi

+0

@Gabbiあなたは、あなたの数学が正しいことを確認し、学習を強化するためにコーディングを使用することは非常に便利で楽しいです。しかし、ペン&ペーパー;-)でこれが最初にすべてクリアされていることを確認してください – BPL