python解决问题

img


def f(x):
return x5-15*x4+85x**3-225x2+274x-121



>def f(x):
    return x**5-15*x**4+85*x**3-225*x*2+274*x-121
 
LIMIT=10**(-6)
x1=1.5
x2=2.4
while abs(f((x2+x1)/2))>=LIMIT:
    mid=(x1+x2)/2
    y = f(mid)
    if y > 0:
        x1=mid
    elif y<0:
        x2=mid

print("%.6f"%((x1+x2)/2))

帮忙看看为什么不能运行
顺便告知一下正确答案嘛

if y > 0: 
elif y<0:
这里y == 0abs(f((x2+x1)/2))
难道不是
abs(f(x1)-f(x2)) / 2


不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^