四元公式混合

2024-06-16 13:13:48 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我编写了一个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)

Tags: 代码answeraddinputsqrt公式intprint
1条回答
网友
1楼 · 发布于 2024-06-16 13:13:48

你的解决方案很好,让我们用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

你可以看到比赛的结果

事实上,您还可以确认根是否正确显示二次方程:

enter image description here

我强烈建议您回顾一下The Quadratic Formula的概念,当它清楚的时候就回到编码上来

相关问题 更多 >