python循环语句和循环控制语句用法- Python入门开发教程

上一章Python教程请查看:python条件语句用法学习总结
通常语句是按顺序执行的:先执行函数中的第一个语句,然后执行第二个语句,依此类推。当你需要多次执行一个代码块时,可能会出现这种情况。
编程语言提供了各种控制结构,允许更复杂的执行路径。
循环语句允许我们多次执行一个语句或一组语句,下图说明了循环语句:

python循环语句和循环控制语句用法- Python入门开发教程

文章图片
Python编程语言提供了以下类型的循环来处理循环需求。
编号 循环类型 & 描述
1 while循环 当给定条件为真时,重复一个或一组语句。它在执行循环体之前测试条件。
2 for循环 多次执行语句序列并缩写管理循环变量的代码。
3 嵌套循环 你可以使用一个或多个循环中的任何另一个while, for或do..while循环。
一、while循环语句只要给定条件为真,Python编程语言中的while循环语句就会重复执行目标语句。
Python编程语言中的while循环语法是:
while expression: statement(s)

在这里语句statement(s)可以是单个语句,也可以是一个语句块,条件可以是任何表达式,true是任何非零值,当条件为真时,循环迭代。
当条件变为false时,程序控制传递到紧接循环之后的行。
在Python中一个编程结构之后,所有被相同数量的字符空格缩进的语句都被认为是单个代码块的一部分,Python使用缩进作为分组语句的方法。
python循环语句和循环控制语句用法- Python入门开发教程

文章图片
这里while循环的关键点是循环可能永远不会运行,当条件被测试并且结果为false时,循环体将被跳过,while循环之后的第一个语句将被执行。
#!/usr/bin/pythoncount = 0 while (count < 9): print "count: ", count count = count + 1

这里的块由print和increment语句组成,重复执行直到count不再小于9,每次迭代时,都会显示索引计数的当前值,然后将其增加1。
1、无限循环
如果一个条件永远不为假,那么循环就会变成无限循环,在使用while循环时必须谨慎,因为该条件可能永远不会解析为假值,这导致了一个永远不会结束的循环,这样的循环称为无限循环。
无限循环在客户机/服务器编程中可能很有用,因为服务器需要连续运行,以便客户机程序可以根据需要与它通信。
#!/usr/bin/pythonvar = 1 while var == 1 :# 无限循环 num = raw_input("输入数字: ") print "输入的数字为: ", num

上面的例子是一个无限循环,你需要使用CTRL+C来退出程序。
2、在循环中使用else语句
Python支持将else语句与循环语句相关联。
  • 如果else语句与for循环一起使用,则在循环遍历列表之后执行else语句。
  • 如果else语句与while循环一起使用,则在条件变为false时执行else语句。
下面的示例演示了else语句与while语句的组合,while语句打印的数字只要小于5,否则else语句就会执行。
#!/usr/bin/pythoncount = 0 while count < 5: print count, " 小于 5" count = count + 1 else: print count, " 不小于 5"

3、条语句套件
与if语句语法类似,如果while子句仅包含一条语句,则可以将其放置在与while标题相同的行上。
下面是一行while子句的语法和例子:
#!/usr/bin/pythonflag = 1 while (flag): print '给定的flag为true!'

最好不要尝试上面的例子,因为它进入无限循环,你需要按CTRL+C键退出。
二、for循环语句它可以遍历任何序列的项,比如列表或字符串。
for iterating_var in sequence: statements(s)

如果一个序列包含一个表达式列表,则首先对它求值,然后将序列中的第一项分配给迭代变量iterating_var。接下来执行语句块,列表中的每一项都被赋给iterating_var,语句块被执行,直到整个序列被用完。
python循环语句和循环控制语句用法- Python入门开发教程

文章图片
#!/usr/bin/pythonfor letter in 'Python':# 第一个例子 print '当前字母 :', letterfruits = ['banana', 'apple','mango'] for fruit in fruits:# 第二个例子 print '当前水果 :', fruit

1、通过序列索引进行迭代
迭代每个项的另一种方法是通过索引偏移量到序列本身,下面是一个简单的例子
#!/usr/bin/pythonfruits = ['banana', 'apple','mango'] for index in range(len(fruits)): print '当前水果 :', fruits[index]

这里我们使用了len()内置函数的帮助,它提供了元组中元素的总数,以及range()内置函数,从而为我们提供了实际的遍历序列。
2、在循环中使用else语句
Python支持将else语句与循环语句相关联:
  • 如果else语句与for循环一起使用,则在循环遍历列表之后执行else语句。
  • 如果else语句与while循环一起使用,则在条件变为false时执行else语句。
下面的示例演示了else语句与for语句的组合,for语句搜索10到20之间的质数。
#!/usr/bin/pythonfor num in range(10,20):# 迭代10到20 for i in range(2,num):# 对数字的因数进行迭代 if num%i == 0:# 确定第一个因数 j=num/i# 计算第二个因数 print '%d = %d * %d' % (num,i,j) break # 要移动到下一个数字 else:# 循环的其他部分 print num, '是质数'

三、嵌套循环Python编程语言允许在一个循环中使用另一个循环,下面的小节给出几个示例来说明这个概念。
for iterating_var in sequence: for iterating_var in sequence: statements(s) statements(s)

Python编程语言中的嵌套while循环语句的语法如下:
while expression: while expression: statement(s) statement(s)

关于循环嵌套的最后一点是,你可以将任何类型的循环放入任何其他类型的循环中,例如For循环可以在while循环中,反之亦然。
下面的程序使用一个嵌套的for循环来查找质数(从2到100)
#!/usr/bin/pythoni = 2 while(i < 100): j = 2 while(j < = (i/j)): if not(i%j): break j = j + 1 if (j > i/j) : print i, " 是质数 i = i + 1

四、循环控制语句循环控制语句改变了正常序列的执行,执行离开范围时,在该范围中创建的所有自动对象都将被销毁。
Python支持以下控制语句。
让我们简单地过一遍循环控制语句
编号 控制语句 & 描述
1     beak语句 终止循环语句,并将执行转移到紧随循环之后的语句。
2 continue语句 使循环跳过其主体的其余部分,并在重复之前立即重新测试其状态。
3 pass语句 当在语法上需要语句,但不希望执行任何命令或代码时,使用Python中的pass语句。
五、break语句它终止当前循环并在下一个语句中继续执行,就像C中的传统break语句一样。
break最常见的用法是当某些外部条件被触发时,需要从循环中快速退出,break语句可以在while和for循环中使用。
如果使用嵌套循环,break语句将停止最内层循环的执行,并开始执行块之后的下一行代码。
python循环语句和循环控制语句用法- Python入门开发教程

文章图片
Python中break语句的语法如下:
break #!/usr/bin/pythonfor letter in 'Python':# 第一个例子 if letter == 'h': break print '字母 :', lettervar = 10# 第二个例子 while var > 0: print 'var :', var var = var -1 if var == 5: break

六、continue语句它将控件返回到while循环的开头,continue语句拒绝当前循环迭代中的所有剩余语句,并将控件移回循环的顶部。
python循环语句和循环控制语句用法- Python入门开发教程

文章图片
continue语句可以在while和for循环中使用。
continue #!/usr/bin/pythonfor letter in 'Python':# 第一个例子 if letter == 'h': continue print '字母 :', lettervar = 10# 第二个例子 while var > 0: var = var -1 if var == 5: continue print 'var的值', var

七、pass语句它用于语法上需要语句,但不希望执行任何命令或代码的情况。
【python循环语句和循环控制语句用法- Python入门开发教程】pass语句是一个空操作,当它执行时什么也没有发生,在你的代码最终要到达但还没有被编写的地方pass也很有用:
#!/usr/bin/pythonfor letter in 'Python': if letter == 'h': pass print 'pass块' print '字母 :', letter

    推荐阅读