Python循环语句

来源:互联网 发布:虚拟商品淘宝客服介入 编辑:程序博客网 时间:2024/05/16 08:31

程序一般都是按顺序执行的。但有时候我们需要打破这个常规,才能执行更复杂的执行过程。
循环语句允许我们执行一个语句或语句组多次,下图是大多数编程语言中的循环语句的一般形式:
循环语句
Python中只提供了for循环和while循环,没有do…while循环。

语句

循环控制语句
循环控制语句可以更改语句执行的顺序,Python支持一下循环控制语句:
控制语句

Python while循环语句
while语句用于循环执行程序,即在某条件下,循环执行某段程序,此处理需要重要处理的相同任务。其基本形式为:

while 判断条件:   执行语句....

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、非空的值均为True。当判断条件为假False时,循环结束。
实例如下:

#coding=utf-8num = 0while num < 4 :  print num,  num += 1print "End while"

以上代码执行输出结果:

0123End while

无限循环
如果条件判断是一个恒成立等式,循环将会无限的执行下去。如:

#coding=utf-8num = 1while num == 1 :  print numprint "End while"

以上代码会无限的打印1,可以使用ctrl + c来中断循环。

Python for循环语句

for循环可以遍历任何序列的项目,如一个列表或者字符串。
基本语法结构:

for iterating_var in seqnence :  执行语句....

流程图:
for

实例如下:

#coding=utf-8list1 = [1,2,3,4,5,'a','sdf']for i in list1 :  print i,

以上代码执行结果:

12345asdf

通过索引迭代

#coding=utf-8list1 = [1,2,3,4,5,'a','sdf']for i in range(len(list1)) :  print list1[i]

执行结果跟上面一样。

while和for循环还有另外两个重要的命令,那就是使用continue,break来跳过循环。
continue用于跳过本次循环(下面的语句不再执行),继续下一次循环。
break则用于跳出整个循环。如:

#coding=utf-8num = 0while num >= 0 :  if num % 2 == 0 : #偶数跳过输出    continue  elif num >= 20 : #当num大于等于20时,跳出整个while循环    break  num += 1  print num #当上面条件都不满足时,打印输出num

Python循环嵌套
Python for循环嵌套语法结构:

for iterating_var1 in seqnence :  for iterating_var2 in seqnence :    执行语句....   执行语句....执行语句....

Python while 循环嵌套语法结构:

while experession :  while expression :    statement(s)  statement(s)

当然你也可以在循环体内嵌套其他的循环体,如在for循环中可以嵌套whlie循环,也可以在while循环中嵌套for循环。
实例:
打印2-20的素数(素数又叫质数,所谓质数就是只能被1和本身整数的数)

#coding=utf-8import mathnum = 2while num <= 20 :  i = 2  while i <= int(math.sqrt(num)) :    if num % i == 0 :      #print str(num) + "不是素数"      break    i += 1  if i > int(math.sqrt(num)):    print str(num) + "是素数"  num += 1

执行结果:

2是素数3是素数5是素数7是素数11是素数13是素数17是素数19是素数

Python pass语句
Python中的pass是空语句,是为了保持程序结构的完整性。语法格式如下:

pass

实例:

#coding=utf-8import math#打印2到20之间的素数num = 2while num <= 20 :  i = 2  while i <= int(math.sqrt(num)) :    if num % i == 0 :      #print str(num) + "不是素数"      break    i += 1  if i > int(math.sqrt(num)):    print str(num) + "是素数"  num += 1

执行结果:

Current i : PCurrent i : yCurrent i : tThis is pass blockCurrent i : hCurrent i : oCurrent i : nGood bye
0 0
原创粉丝点击