早教吧 育儿知识 作业答案 考试题库 百科 知识分享

python问题:用二分法求根(递归)defroot(x,p):low=0hgh=xm=(low+high)/2ifabs(m**2-x)>>deff(m,x,low,high):ifabs(m**2-x)x:high=mm=(low+high)/2else:low=m,m=(low+high)/2returnf(m,x,low,high)>>>root(2

题目详情
python问题:用二分法求根(递归)
def root(x,p):
low = 0
hgh = x
m = (low + high)/2
if abs(m**2 - x) >> def f(m,x,low,high):
if abs(m**2 - x) x:
high = m
m = (low + high)/2
else:
low = m, m = (low + high)/2
return f(m,x,low,high)
>>> root(2.0,0.01)
Traceback (most recent call last):
File "", line 1, in
root(2.0,0.01)
File "", line 4, in root
m = (low + high)/2
NameError: global name 'high' is not defined,哪错了,谢谢
def f(m,x,low,high,p):
if abs(m**2 - x) x:
high = m
m = (low + high)/2
else:
low = m, m = (low + high)/2
return f(m,x,low,high,p)
>>> def root(x,p):
low = 0.0
high = x
m = (low + high)/2
if abs(m**2 - x) >> root(2.0,0.01)
Traceback (most recent call last):
File "", line 1, in
root(2.0,0.01)
File "", line 7, in root
else: return f(m,x,low,high,p)
File "", line 8, in f
low = m, m = (low + high)/2
TypeError: 'float' object is not iterable
▼优质解答
答案和解析
拼写错误:
hgh = x
改成high = x