您的位置:首页 > 编程语言 > Python开发

Python基础教程(四):循环语句

2015-12-01 17:39 609 查看

Python循环语句

本章节将向大家介绍Python的循环语句,程序在一般情况下是按顺序执行的。

编程语言提供了各种控制结构,允许更复杂的执行路径。

循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:

Python提供了for循环和while循环(在Python中没有do..while循环):

循环类型
描述
while循环
在给定的判断条件为true时执行循环体,否则退出循环体。

for循环

重复执行语句

嵌套循环

你可以在while循环体中嵌套for循环

 

循环控制语句

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

控制语句
描述
break语句
在语句块执行过程中终止循环,并且跳出整个循环

continue语句

在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。

pass语句

pass是空语句,是为了保持程序结构的完整性。

 

 

PythonWhile循环语句

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

while判断条件:

   执行语句……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假false时,循环结束。

执行流程图如下:

实例:

#!/usr/bin/python

 

count=0

while(count<9):

  print'Thecountis:',count

  count=count+1

 

print"Goodbye!"

以上代码执行输出结果:

Thecountis:0

Thecountis:1

Thecountis:2

Thecountis:3

Thecountis:4

Thecountis:5

Thecountis:6

Thecountis:7

Thecountis:8

Goodbye!

while语句时还有另外两个重要的命令continue,break来跳过循环,continue用于跳过该次循环,break则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:

#continue和break用法

 

i=1

whilei<10:  

    i+=1

   ifi%2>0:    #非双数时跳过输出

       continue

   printi        #输出双数2、4、6、8、10

 

i=1

while1:           #循环条件为1必定成立

   printi        #输出1~10

   i+=1

   ifi>10:    #当i大于10时跳出循环

       break


 

无限循环

如果条件判断语句永远为true,循环将会无限的执行下去,如下实例:

#!/usr/bin/python

#-*-coding:UTF-8-*-

 

var=1

whilevar==1: #该条件永远为true,循环将无限执行下去

  num=raw_input("Enteranumber :")

  print"Youentered:",num

 

print"Goodbye!"

以上实例输出结果:

Enteranumber :20

Youentered: 20

Enteranumber :29

Youentered: 29

Enteranumber :3

Youentered: 3

Enteranumberbetween:Traceback(mostrecentcalllast):

 File"test.py",line5,in<module>

   num=raw_input("Enteranumber:")

KeyboardInterrupt

注意:以上的无限循环你可以使用CTRL+C来中断循环。

 

循环使用else语句

在python中,for…else表示这样的意思,for中的语句和普通的没有区别,else中的语句会在循环正常执行完(即for不是通过break跳出而中断的)的情况下执行,while…else也是一样。

#!/usr/bin/python

 

count=0

whilecount<5:

  printcount,"is lessthan5"

  count=count+1

else:

  printcount,"isnotlessthan5"

以上实例输出结果为:

0islessthan5

1islessthan5

2islessthan5

3islessthan5

4islessthan5

5isnotlessthan5

 

简单语句组

类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中,如下所示:

#!/usr/bin/python

 

flag=1

 

while(flag):print'Givenflagisreallytrue!'

 

print"Goodbye!"

注意:以上的无限循环你可以使用CTRL+C来中断循环。

 

 

Pythonfor循环语句

Pythonfor循环可以遍历任何序列的项目,如一个列表或者一个字符串。

语法:

for循环的语法格式如下:

foriterating_varinsequence:

  statements(s)

流程图:

实例:

#!/usr/bin/python

#-*-coding:UTF-8-*-

 

forletterin'Python':    #第一个实例

  print'当前字母:',letter

 

fruits=['banana','apple', 'mango']

forfruitinfruits:       #第二个实例

  print'当前字母:',fruit

 

print"Goodbye!"

以上实例输出结果:

当前字母:P

当前字母:y

当前字母:t

当前字母:h

当前字母:o

当前字母:n

当前字母:banana

当前字母:apple

当前字母:mango

Goodbye!

 

通过序列索引迭代

另外一种执行循环的遍历方式是通过索引,如下实例:

#!/usr/bin/python

#-*-coding:UTF-8-*-

 

fruits=['banana','apple', 'mango']

forindexinrange(len(fruits)):

  print'当前水果:',fruits[index]

 

print"Goodbye!"

以上实例输出结果:

当前水果:banana

当前水果:apple

当前水果:mango

Goodbye!

以上实例我们使用了内置函数len()和range(),函数len()返回列表的长度,即元素的个数。range返回一个序列的数。

 

循环使用else语句

在python中,for…else表示这样的意思,for中的语句和普通的没有区别,else中的语句会在循环正常执行完(即for不是通过break跳出而中断的)的情况下执行,while…else也是一样。

如下实例:

#!/usr/bin/python

#-*-coding:UTF-8-*-

 

fornuminrange(10,20): #迭代10到20之间的数字

  foriinrange(2,num):#根据因子迭代

     ifnum%i==0:     #确定第一个因子

        j=num/i         #计算第二个因子

        print'%d等于%d*%d'%(num,i,j)

        break           #跳出当前循环

  else:                 #循环的else部分

     printnum,'是一个质数'

以上实例输出结果:

10等于2*5

11是一个质数

12等于2*6

13是一个质数

14等于2*7

15等于3*5

16等于2*8

17是一个质数

18等于2*9

19是一个质数

 

 

Python循环嵌套

Python语言允许在一个循环体里面嵌入另一个循环。

Pythonfor循环嵌套语法:

foriterating_varinsequence:

  foriterating_varinsequence:

     statements(s)

  statements(s)

Pythonwhile循环嵌套语法:

whileexpression:

  whileexpression:

     statement(s)

  statement(s)

你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环,反之,你可以在for循环中嵌入while循环。

实例:

以下实例使用了嵌套循环输出2~100之间的素数:

#!/usr/bin/python

#-*-coding:UTF-8-*-

 

i=2

while(i<100):

  j=2

  while(j<=(i/j)):

     ifnot(i%j):break

     j=j+1

  if(j>i/j):printi,"是素数"

  i=i+1

 

print"Goodbye!"

以上实例输出结果:

2是素数

3是素数

5是素数

7是素数

11是素数

13是素数

17是素数

19是素数

23是素数

29是素数

31是素数

37是素数

41是素数

43是素数

47是素数

53是素数

59是素数

61是素数

67是素数

71是素数

73是素数

79是素数

83是素数

89是素数

97是素数

Goodbye!

 

 

Pythonbreak语句

Pythonbreak语句,就像在C语言中,打破了最小封闭for或while循环。

break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。

break语句用在while和for循环中。

如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。

Python语言break语句语法:

break

流程图:

实例:

#!/usr/bin/python

 

forletterin'Python':    #FirstExample

  ifletter=='h':

     break

  print'CurrentLetter:',letter

 

var=10                   #SecondExample

whilevar>0:             

   print'Currentvariablevalue:',var

  var=var-1

  ifvar==5:

     break

 

print"Goodbye!"

以上实例执行结果:

CurrentLetter:P

CurrentLetter:y

CurrentLetter:t

Currentvariablevalue:10

Currentvariablevalue:9

Currentvariablevalue:8

Currentvariablevalue:7

Currentvariablevalue:6

Goodbye!

 

 

Pythoncontinue语句

Pythoncontinue语句跳出本次循环,而break跳出整个循环。

continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

continue语句用在while和for循环中。

Python语言continue语句语法格式如下:

continue

流程图:

实例:

#!/usr/bin/python

#-*-coding:UTF-8-*-

 

forletterin'Python':    #第一个实例

  ifletter=='h':

     continue

  print'当前字母:',letter

 

var=10                   #第二个实例

whilevar>0:             

   var=var-1

  ifvar==5:

     continue

  print'当前变量值:',var

print"Goodbye!"

以上实例执行结果:

当前字母:P

当前字母:y

当前字母:t

当前字母:o

当前字母:n

当前变量值:9

当前变量值:8

当前变量值:7

当前变量值:6

当前变量值:4

当前变量值:3

当前变量值:2

当前变量值:1

当前变量值:0

Goodbye!

 

 

Pythonpass语句

Pythonpass是空语句,是为了保持程序结构的完整性。

passass不做任何事情,一般用做占位语句。

Python语言pass语句语法格式如下:

pass

实例:

#!/usr/bin/python

#-*-coding:UTF-8-*-

 

#输出Python的每个字母

forletterin'Python':

  ifletter=='h':

     pass

     print'这是pass块'

  print'当前字母:',letter

 

print"Goodbye!"

以上实例执行结果:

当前字母:P

当前字母:y

当前字母:t

这是pass块

当前字母:h

当前字母:o

当前字母:n

Goodbye!

出处:http://www.runoob.com/python/python-tutorial.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息