你怎么知道while循环是否会终止?

时间:2012-09-20 18:57:43

标签: python python-3.x

你怎么知道它是否会终止?是否有一个功能,使它继续前进?如果我想在一定次数后停止循环,我该怎么做?

2 个答案:

答案 0 :(得分:9)

通常,提前知道程序是永久循环还是最终停止是不可能的。这称为Halting problem。当然,在实践中,你可以通过观察条件来做出合理的猜测。

只要条件为真,while循环就会继续运行。你不需要一个功能来让它继续下去。

while True:
    print "hello, world!"
    #no functions required here!

如果你想要循环一定次数,最好使用for循环:

for i in range(10):
    print "hello, world!"
    #prints ten times

虽然如果你真的想要你仍然可以使用while循环。

count = 0
while count < 10:
    print "hello, world!"
    count += 1

答案 1 :(得分:2)

终止while循环

  • 如果它在评估时使用的条件为假。

    示例:

    x = 10
    while x > 5:
        x -= 7
        print x
        x += 6
        print x
    

    依次打印数字3,9,2,8,1,7,0,6,-1,5,然后才终止。

    x在执行期间变为<= 5,但只有重新启动循环时的状态才相关。

  • 如果同时留下break

    x = 10
    while x > 5:
        print x
        x -= 1
        break
    

    只打印10张,因为之后会“强行”。

运行一定次数的循环将完成

x = 0
while x < n:
    do_stuff()
    x += 1

或更好用于:

for x in range(n):
    do_stuff()