def fx(x): return x**4-3*x+1 # 二分法求解方程的根 def SolveByDivTwo(x1,x2,err): while abs(x2-x1) >= err: x = (x1+x2)/2 if fx(x) * fx(x1) < 0: x2 = x else: x1 = x return (x1+x2)/2 if __name__ == "__main__": x1 = 0.3 x2 = 0.4 err = 0.5e-5 root = SolveByDivTwo(x1, x2, err) print(f"Root: {root:.5f}")