二次方程式混合
Quadractic Formula mix up
所以我编写了一个 python 代码,使用二次公式求解 x。除了迹象,一切最终都会成功。例如,如果你想因式分解 x^2 + 10x + 25,当答案应该是 5、5 时,我的代码输出 -5、-5。
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)
你的解决方案很好,让我们用sympy来证明它:
>>> (x**2+10*x+25).subs(x,-5)
0
如您所见,-5 是根之一,而 5
>>> (x**2+10*x+25).subs(x,5)
100
不是,现在...如果你扩展你的 2 个根 [-5,-5] 就像:
>>> ((x+5)*(x+5)).expand()
x**2 + 10*x + 25
你可以看到结果匹配。
其实你也可以确认二次方程的根是正确的:
我强烈建议您复习一下 The Quadratic Formula 的概念,当它清楚时再回到编码
所以我编写了一个 python 代码,使用二次公式求解 x。除了迹象,一切最终都会成功。例如,如果你想因式分解 x^2 + 10x + 25,当答案应该是 5、5 时,我的代码输出 -5、-5。
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)
你的解决方案很好,让我们用sympy来证明它:
>>> (x**2+10*x+25).subs(x,-5)
0
如您所见,-5 是根之一,而 5
>>> (x**2+10*x+25).subs(x,5)
100
不是,现在...如果你扩展你的 2 个根 [-5,-5] 就像:
>>> ((x+5)*(x+5)).expand()
x**2 + 10*x + 25
你可以看到结果匹配。
其实你也可以确认二次方程的根是正确的:
我强烈建议您复习一下 The Quadratic Formula 的概念,当它清楚时再回到编码