所以我编写了一个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
不是,现在如果你把你的两个根[-5,-5]展开如下:
>>> ((x+5)*(x+5)).expand()
x**2 + 10*x + 25
你可以看到结果很吻合。
实际上,还可以确认根是否正确显示二次方程:
我强烈建议你回顾一下The Quadratic Formula的概念,当它清楚的时候,回到代码中
关于python - 二次方程式混合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39338450/