将具有设定迭代次数的for循环更改为无限循环

时间:2017-10-12 00:58:45

标签: python python-3.x numpy

我试图调整以下内容,以便最多运行10次然后放弃"它只是无限期地运行直到它找到答案。我可以把这个范围扩大到一个惊人的数字,但这不是作弊。

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)

我尝试过交换

for i in range (10):

c=(a+b)/2
while abs(f(c))<1/10**10:

我一无所获。什么都不打印,也没有错误。折流板。

我很感激一些帮助

谢谢!

1 个答案:

答案 0 :(得分:0)

最简单的方法是将for ...:替换为while True:。这只是删除了10次迭代限制。