前言:
本篇文章是《Python之旅》系列的第五篇,在上一篇文章中主要学习了Python 的条件语句。本篇文章主要学习的知识点有:Python 的循环语句以及循环控制语句
Python的循环语句:
在不少实际问题中(泛指开发过程),有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。循环语句是由循环体及循环的终止条件两部分组成的。一组被重复执行的语句称之为,循环体。另外,循环体能否继续重复,取决于循环的终止条件。跟Java类似,Python也提供了for循环和while循环,但是Python中没有do..while循环。
for循环
Python中for循环的写法有如下几种:第一种写法是 是直接使用in关键字,in关键字的后面直接跟上具体的数据,下面是参考代码:
# for循环一:循环遍历字符串
for a in "Python Java":
print a
# for循环二:循环遍历 列表
data = ['Python', 'Java', 'C']
for b in data:
print b
感觉for循环的第一种写法是简洁明了的,编译运行后结果如下:
P
y
t
h
o
n
J
a
v
a
Python
Java
C
我们知道len函数可以用来获取长度,因此想要获取列表的角标可以使用len函数以及搭配range关键字来获取角标。获取完角标以后就可以根据角标获取对应的属性值,下面是data列表使用range关键字来获取角标以及遍历的第二种写法
for c in range(len(data)):
# 获取列表的角标
print c
# 根据角标就可以获取列表的属性
print data[c]
另外,关于 range要多提一嘴,它的本质是一个函数 第一个参数代表的是初始化的值,第二个参数代表的意思的结束值,第三个参数可不填,第三个参数代表的是每次运行所执行的规律(也可以理解为:间隔),不写的话默认就是1 ,例如,下面的代码,初始化值是2,结束值是10,第三个参数没有填写,编译运行以后会输出2-9
for d in range(2,10):
# 最终会打印2-9
print d
为了测试第三个参数,将第三个参数分别设置为2、3来看看打印结果:
for循环的第二种写法是 是使用in关键字,然后搭配enumerate这个函数,enumerate函数的参数就是具体需要遍历的数据,这种写法可以直接打印角标以及角标对应的属性值,非常快捷实用,参考代码如下:
data = [12, "Python", 23, True, 76, 89]
for i, j in enumerate(data):
# i对应的是角标,j对应的是属性值
print i,j
打印结果如下:
0 12
1 Python
2 23
3 True
4 76
5 89
我们知道 冒泡排序是2个属性值进行比较,比较规则是,两两相比:小的属性值上浮、大的属性值下沉,简而言之就是进行位置交换,在Python中也可以快速实现冒泡排序:
# 冒泡排序
dataArray = [ 12,80,22,38,33,9,4,25,76,1992,1314 ]
for i in range(len(dataArray)):
for j in range(i+1):
if dataArray[i] < dataArray[j]:
# 实现连个变量的互换
dataArray[i],dataArray[j] = dataArray[j],dataArray[i]
print dataArray
由于Python的谜之缩进,最后一行的print输出语句如果加上对应的缩进之后 输出语句都不一样,可以体验一下....
while循环
说到while循环,首先想起的就是那个while (true){ ....... },Python中也可以使用while循环来进行循环语句的使用,符合条件表达式即执行语句,不满足即不执行语句,下面是while循环简单的使用:
# while循环:
a = 0
while a < 5:
print "while循环执行语句"
a = a + 1
在 Python 中,for循环可以使用else,while语句也可以使用else,else是在循环条件为 false 时执行:
# while循环:
a = 0
while a < 5:
print "while--循环执行语句"
a = a + 1
else:
print "end......while语句执行完毕"
编译运行后,结果如下:
while--循环执行语句
while--循环执行语句
while--循环执行语句
while--循环执行语句
while--循环执行语句
end......while语句执行完毕
Python的循环控制语句:
Python的循环控制语句包含3个关键字,分别是break、continue、pass
-
首先是break:
跟Java一样,break语句是用来,在执行过程中终止循环,并且跳出整个循环。 这也就说明,循环条件即使没有False,或者序列还没被完全递归完,也会停止执行循环语句。 -
然后是continue:
跟Java一样,continue语句是用来,在执行过程中,跳过本次循环,然后进行下一轮循环 。从某种意义上来说,continue语句是用来做过滤删除的,主要是为了删除满足循环条件下的某些不需要的成分,比如用户名带违禁字等等 ,假设现在我们要过滤一个叫 雅蠛蝶 的关键字,参考代码如下:
data = ["雅蠛蝶","AA","BB","CC","DD","EE"]
trueData = []
for i, j in enumerate(data):
if "雅蠛蝶" == j:
continue
trueData.append(j)
print trueData
- 最后是pass:
pass语句比较特殊,这个pass,主要是用来保持程序结构的完整性。pass,代表不做任何事情,一般是用来做占位语句,代码如下:
for p in 'Python':
if p == 'h':
pass
print '执行 pass 语句块'
print '字母 :', p
编译运行后,结果如下:
字母 : P
字母 : y
字母 : t
执行 pass 语句块
字母 : h
字母 : o
字母 : n
总结:
本篇文章主要学习了:Python 的for循环、while循环以及循环的控制:break、continue、pass
如果这篇文章对您有开发or学习上的些许帮助,希望各位看官留下宝贵的star,谢谢。
Ps:著作权归作者所有,转载请注明作者, 商业转载请联系作者获得授权,非商业转载请注明出处(开头或结尾请添加转载出处,添加原文url地址),文章请勿滥用,也希望大家尊重笔者的劳动成果
网友评论