理解while循环

0 投票
7 回答
2899 浏览
提问于 2025-04-15 17:37

我刚开始学Python,对for循环的作用还算明白,但对while循环就有点搞不懂了。我知道它的意思是只要条件成立就会一直重复执行某些操作,听起来简单,但我觉得用起来真的很难。

这里有个例子:

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

我就是搞不懂这个。求助!

7 个回答

2

你实际上定义了一个无限循环。while 1: 的意思是下面的代码会一直运行,永远不会停止。你只能通过使用 break 语句来退出这个循环。

rate(100) 是在调用一个叫做 rate 的方法,这个方法必须在某个地方被定义过。接下来会执行一个尝试-捕获的代码块。首先会运行一些代码。如果没有出现错误,程序就会返回到循环的顶部。如果出现了错误,就会运行其他的代码。

2

while 1 是一种特殊的 while 循环,它被称为“无限循环”。

当然,没有什么是无限的。这个代码的意思是:只要里面的内容没有让它退出,就一直运行这个循环。循环里没有明确的退出条件,所以必须在循环内部设置退出的条件。

要么就是这样,要么这个循环就是为了让程序在整个运行期间都持续执行,直到被操作系统强制结束,或者你按下电脑上的那个大红按钮。

3

你提供的示例代码其实是这个意思:

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

在Python中,很多表达式可以用来判断真假,也就是在条件和逻辑运算中可以评估为 True(真)或 False(假)。比如,非空的序列或者非零的数字都会被认为是 True。所以这个循环会一直运行下去,或者直到某段代码明确地让它停止。这是因为循环的条件被写死成 True,所以它永远不会变成 False,也就无法退出循环。

Python中 while 循环的基本行为在 Python教程中有很好的解释。如果你没有更具体的问题,我建议你先从那里开始了解。其他的 Python控制流 结构也在那儿有描述。

撰写回答