Python while 循环的用法

循环是编程语言的基本概念之一。当您要重复特定代码块多次直到满足给定条件时,循环很方便。

在 Python 两种基本的循环结构, for 以及 while 循环。

本教程介绍了 Python 中 while 循环的基础用法。我们还将向您展示如何使用 else 子句和 breakcontinue 语句。

Python 的 while 循环

while 只要给定条件的计算结果为 true ,循环就执行其中的语句。

Python 的 while 循环采用以下形式:

while EXPRESSION:
    STATEMENT(S)

while 语句以 while 关键字开头,后跟条件表达式。

EXPRESSION 执行语句之前进行评估。如果条件评估为 true ,则执行 STATEMENT(S) 。否则,如果条件的计算结果为 false ,则终止循环,并将程序控制传递给后面的语句。

STATEMENT(S) 块以缩进开始,以第一条未缩进的行结束。大多数人选择使用4空格还是2空格缩进。官方的 Python 代码样式指南建议每个缩进级别使用4个空格,并避免混合使用制表符和空格进行缩进。

让我们看下面的示例代码,只要 i 小于 5,就递增并打印该变量的当前值:

i=0
while i < 5:
    i += 1
    print('number:', i)

只要 i 小于或等于5, 循环就会迭代。它将产生以下输出:

number: 1
number: 2
number: 3
number: 4
number: 5

Python 支持标准比较操作:

  • a == b - 如果 ab 相等,则为 true  。
  • a != b - 如果 ab 不相等,则为 true  。
  • a > b - 如果 a 大于 b ,则为 true  。
  • a >= b - 如果 a 等于或大于 b ,则为 true 。
  • a < b - 如果 a 小于 b ,则为 true  。
  • a <= b - 如果 a 等于或小于 b ,则为 true  。

如果对条件表达式取反,请使用逻辑 not 运算符:

i=0
while not i >= 5:
    i += 1
    print('number:', i)

breakcontinue 声明

breakcontinue 语句,可以控制 while 循环执行。

break 语句终止当前循环,并将程序控制权传递给终止循环之后的语句。最常见的情况是在满足特定条件时用 break 终止循环。

在下面的示例中,一旦当前迭代项等于 2 ,循环的执行就会中断。

i=0
while i < 5:
    i += 1
    if i == 2:
        break
    print('number:', i)
Number: 1

continue 语句退出循环的当前迭代,并将程序控制传递给循环的下一个迭代。

在下面的下面,一旦当前迭代的项目等于 2 执行 continue 语句,将使执行返回到循环的开头并继续下一次迭代。

i=0
while i < 5:
    i += 1
    if i == 2:
        continue
    print('number:', i)
number: 1
number: 3
number: 4
number: 5

else 条款

与其他语言不同,在 Python 中, while 循环具有一个可选的 else 子句:

while EXPRESSION:
    STATEMENT(S)
else:
    STATEMENT(S)

else 子句中的语句仅在 EXPRESSION 计算结果为 false 时执行。如果引发异常或如果循环以该 break 语句终止,则不会执行该异常。

这是一个例子:

i=0
while i < 5:
    i += 1
    print('number:', i)
else:
    print('Loop completed.')
number: 1
number: 2
number: 3
number: 4
number: 5
Loop completed.

现在, 看看 break 跳出循环时会发生什么:

i=0
while i < 5:
    i += 1
    if i == 2:
        break
    print('number:', i)
else:
    print('Loop completed.')

else 子句中的语句未执行,因为表达式的计算结果不是 false

Number: 1

else 子句的 while 循环并不经常使用。一种常见情况是,当您希望从循环中中断时,如果循环继续运行直到条件评估为 false ,则可以执行一些语句或函数。

无限 while 循环

无限循环是无限重复的循环,直到程序终止才终止。如果条件始终为真,则将出现无限循环。

无限循环通常用于使程序等待某些外部事件的发生。通常,在 Python 中,使用 while True: 代替创建无限循环 True ,您也可以使用总是返回 true 的任何其他表达式。

这是一个无限 while 循环的示例,该循环将一直提示您输入 “Yes”:

while True:
    i = input('Please enter \'Yes\': ')
    if i.strip() == 'Yes':
        break

while 上面的循环运行,直到您输入“是”:

Please enter 'Yes': 3
Please enter 'Yes': l
Please enter 'Yes': lin
Please enter 'Yes': No
Please enter 'Yes': Yes

终止无限循环的另一种方法是按 CTRL+C

在编写无限循环时,请确保使用 break 语句在某个时候退出循环。

结论

while 循环中重复执行的语句,只要给定的条件计算为 true