了解while循环

时间:2010-01-04 11:42:31

标签: python while-loop

我是Python的新手。我可以理解for循环的作用,但不能真正理解while循环的作用。我知道它确实重复了一些事情,条件是真的,很容易说,但就我的想法而言,它真的很难使用它。

说,这里有一个例子:

while 1:
   rate(100) #what does this rate(100) do?
   try:
      'something'
   except:
      'something else'

我无法理解。救命啊!

7 个答案:

答案 0 :(得分:3)

您提供的示例代码与此相同:

while True:
    rate(100) #what does this rate(100) do?
    try:
        'something'
    except:
        'something else'

在Python中,可以测试许多表达式的真实性(在条件和逻辑运算中使用时评估为TrueFalse)。例如,您已评估为True的非空序列或非零数字。所以这个循环将永远运行或直到某些代码明确地突破它。这是因为循环条件被硬编码为True,因此永远不会评估为False以退出循环。

Python Tutorial中详细解释了python中while循环的基本行为。除非你有更具体的问题,我建议你从那里开始。其他Python flow control构造也在那里描述。

答案 1 :(得分:2)

while 1while循环的一个特例:它是一个所谓的“无限循环”。

当然没有什么是无限的。代码所说的是:运行此循环的内容,直到内部的某些内容导致它退出。循环中没有明确的测试,因此退出条件必须在内部。

要么是这样,要么循环意味着在程序的整个持续时间内运行,程序将一直运行直到被操作系统杀死 - 或者你翻转PC上的大红色开关。

答案 2 :(得分:2)

您实际上已经定义了一个无限循环。 while 1:表示无限次运行代码块。您只能使用break语句退出。

rate(100)调用rate方法,必须在某处定义。然后执行try-catch块。首先运行'某事'代码。如果没有错误发生,则执行返回到循环的顶部。如果出现错误,则运行“其他内容”。

答案 3 :(得分:0)

嗯,while 1是一个永远运行的无限循环。我猜这里有点但是rate(N)看起来像是一种尝试每秒100次(或分钟或其他时间段)做某事的功能,在这种情况下它可能是一个简单的“睡觉”时间段除以率“。

例如,在这种情况下,rate(100)将是一秒钟(或其他时间单位)的1/100 th 的睡眠。

底线,它看起来像一个循环,每个时间单位不断尝试100次,并在失败时做其他事情(例外)。

如果没有更多的背景,你可能无法获得更多的东西。

答案 4 :(得分:0)

while 1:构造是一个无限循环,即它永远不会结束。

答案 5 :(得分:0)

while 1是一个无限循环 - 它将永远运行。

while循环是一个允许代码在给定的布尔值上运行的语句。

你可以找到更多信息here,我已经包含了下面文章中给出的例子 - 转换为python。

x = 0
while (x < 3):
   print "x = %d\n" % x
   x++

答案 6 :(得分:0)