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這應該是一個答案,我相信 –