Python基础教程(四):循环语句
2015-12-01 17:39
609 查看
Python循环语句
本章节将向大家介绍Python的循环语句,程序在一般情况下是按顺序执行的。编程语言提供了各种控制结构,允许更复杂的执行路径。
循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:
Python提供了for循环和while循环(在Python中没有do..while循环):
循环类型 | 描述 |
在给定的判断条件为true时执行循环体,否则退出循环体。 | |
重复执行语句 | |
你可以在while循环体中嵌套for循环 |
循环控制语句
循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:控制语句 | 描述 |
在语句块执行过程中终止循环,并且跳出整个循环 | |
在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。 | |
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
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- Extjs4.0 最新最全视频教程
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- OpenERP 的XML-RPC的实例+many2many,one2many,many2one...
- CSS3属性教程与案例分享
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- jquery教程靠边站,一分钱不花让你免费学会jquery
- Python在CAM软件Genesis2000中的应用