0
我试图调整以下内容,以便最多运行10次,然后“放弃”,而不是无限期地运行,直到它遇到回答。我可以将范围提高到一个惊人的数字,但这不是欺骗。将设置迭代次数的for循环更改为无限循环
def f(x):
return x**2-2
def bisection(f,a,b):
for i in range (10):
c=(a+b)/2
if abs(f(c))<1/10**10:
print("found zero",c)
return c
if f(a)*f(c)<0:
a=a
b=c
else:
a=c
b=b
print("a=",a,"b=",b,"f(a)=",f(a))
bisection(f,0,2)
我试着用
c=(a+b)/2
while abs(f(c))<1/10**10:
调换
for i in range (10):
我什么也没得到。没有打印,也没有错误。百思不得其解。
我很感谢一些帮助
谢谢!
最简单的变体:用'替换'for'循环while'True:' –
@MichaelButscher哦哇,非常感谢! –
@MichaelButscher这应该是一个答案,我相信 –