循环是编程语言的基本概念之一。当您希望多次重复特定的代码块,直到满足给定的条件时,循环非常方便。Python中有两个基本的循环构造,for和while循环。
本教程介绍了Python中while循环的基础。 我们还将向您展示如何使用else子句以及break和continue语句。
Python while循环
只要给定条件的值为true, while循环就会执行未知次数的语句。
Python while循环采用以下形式:
while EXPRESSION:
STATEMENT(S)
while语句以while关键字开头,后跟条件表达式。
在执行语句之前先评估EXPRESSION。 如果条件评估为真,则执行STATEMENT(S)。 否则,如果条件评估为false,则循环终止,并将程序控制传递给后面的语句。
STATEMENT(S)块以缩进开始,以第一条未缩进的行结束。 大多数人选择使用4空格还是2空格缩进。 官方的Python代码样式指南建议每个缩进级别使用4个空格,并避免混合使用制表符和空格进行缩进。
让我们看下面的示例代码,只要它小于5,就递增并打印变量i的当前值:
>>> i=0
>>> while i < 5:
... i += 1
... print('number:', i)
...
只要i小于或等于5,Tue循环就会迭代。 它将产生以下输出:
number: 1
number: 2
number: 3
number: 4
number: 5
Python支持标准的比较操作:
a == b - 如果a和b相等,则为true。
a != b - 如果a和b不相等,则为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)
...
number: 1
number: 2
number: 3
number: 4
number: 5
break和continue语句
break和continue语句使您可以控制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)
仅当EXPRESSION的计算结果为false时,才会执行else子句中的语句。 如果引发异常,或者循环以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