Python中的循环构造

循环用于重复执行程序中的相同代码。Python提供了两种类型的循环结构:

  1. while语句

  2. 声明

1)while语句

其语法为:

while condition: # 条件是布尔表达式返回True或False
STATEMENTs BLOCK 1
[else: # while的可选部分
STATEMENTs BLOCK 2]

我们可以看到,虽然看起来像if语句。该语句以关键字while开头,后跟布尔条件,后跟冒号(:)。接下来是的块statement(s)。

statement(s)块1中的in继续执行直到条件保持为True ; 一旦条件变为False并且如果else子句被写入while,则else将被执行。

示例:循环打印编号。从1到10

i=1
while (i <=10):
 print i,
 i = i+1 #可以写成i + = 1

输出结果

1 2 3 4 5 6 7 8 9 10

在上面的示例中,第一个语句初始化了变量(控制循环),然后评估条件时为True,因此将执行接下来编写的语句块。

块中的最后一条语句可确保在每次执行循环时,循环控制变量都移至终止点附近。如果这没有发生,则循环将继续无限执行。

一旦我变成11while中的条件将评估为False,这将终止循环。

注意:由于打印后有',',因此所有值将打印在同一行中。

2)声明

其语法为:

For TARGET- LIST in EXPRESSION-LIST:
STATEMENT BLOCK 1
[else: # 可选块
STATEMENT BLOCK 2]

我们可以看到,虽然看起来像if语句。该语句以关键字while开头,后跟布尔条件,后跟冒号(:)。接下来是的块statement(s)。

statement(s)块1中的in继续执行直到条件保持为True ; 一旦条件变为False并且如果else子句被写入while,则else将被执行。

示例:循环打印编号。从1到10

for i in range (1, 11, 1):
print i,

输出结果

1 2 3 4 5 6 7 8 9 10

让我们了解该语句的执行流程:

该语句引入了一个函数range(),其语法为:range(start,stop,[step]),其中[step]是可选的

range()生成从start到stop-1的值列表。如果给定步骤,则将其添加到生成的值中,以获取列表中的下一个值。

让我们回到for语句:i是变量,它不断获取由range()函数生成的值,并且对i的每个值都使用语句块。当最后一个值分配给i时,循环块最后一次执行,控制权返回到下一条语句。

现在我们可以轻松了解for语句的结果。当提到的步骤是1时,range()从1、2、3、4、5,...,10生成一个列表,我不断获取一次值,然后将其打印在屏幕上。

注意:除range()i(循环控制变量)外,还可以从字符串,列表,字典等中获取值。

示例

for letter in "Python":
  print "Current Letter:",letter
else:
  print "Coming out of loop"

输出结果

Current Letter: P
Current Letter: y
Current Letter: t
Current Letter: h
Current Letter: o
Current Letter: n
Coming out of loop

到现在为止,您必须已经意识到,for语句的语法也与if语句while语句相同

让我们看一下两个循环结构的等效性:

while和for循环语句