import sympy
import decimal
decimal.getcontext().prec=4
x=sympy.symbols("x")
yuan=input("请输入原函数:")
yuan=sympy.simplify(yuan)
x0=float(input('请输入x0的值='))
N0=int(input('请输入N0的值='))
yibusen=float(input("请输入根的误差限为:"))
dao=sympy.diff(yuan,x)
dao=sympy.simplify(dao)
k=1
xx=[x0]
while True:
xx.append(0)
f=yuan.subs(x,xx[k-1])
f1=dao.subs(x,xx[k-1])
xx[k]=xx[k-1]-f/f1
if dao.subs(x,xx[k-1])==0:
i=1
print('i=',i)
break
if abs(xx[-1]-xx[-2])<yibusen:
i=0
print('i=',i)
print(xx[-1],'(k=',k,')')
break
if k>N0:
i=2
print('i=',i)
print('迭代N0次还没有达到精度要求信息','(','N0=',k,')')
break
k+=1
输入案例