概述
本节我们主要介绍Python中的循环控制的使用。
在Python中for循环可以遍历任何序列,例如元组、列表、字符串、字典、集合等等。
先看下for循环的一般格式:
for 变量 in 序列:
# 代码块
else:
# 代码块
# 通常情况下,我们不用else
我们看下用for循环如何进行元组遍历输出:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
# for元组遍历
tuple_1 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
print(u"遍历元组,并打印出来: ")
for t in tuple_1:
print(t)
运行结果如下:
我们看下用for循环如何进行列表遍历输出:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
# for列表遍历
list_1 = [u'DeepTest', u'开源优测', u'快学Python3']
print(u"遍历列表,并打印出来: ")
for text in list_1:
print(text)
运行结果如下:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
# for字典遍历
dict_1 = {u"开源优测": u"DeepTest", u"python": u"快学Python3"}
print(u"遍历字典方式一,并打印出来: ")
for (key, value) in dict_1.items():
print("%s : %s " % (key, value))
print("\n-----------------------------")
print(u"遍历字典方式二,并打印出来: ")
for key in dict_1:
print("%s : %s " % (key, dict_1[key]))
执行结果如下:
注:range生成的序列半闭半开区间
我们看一个实例如下:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
print(u"range for循环实例")
# 使用默认参数生成序列进行遍历
for i in range(5):
print(i, end=',')
# 换行
print('')
# 指定范围生成序列进行遍历
for i in range(0, 10):
print(i, end=',')
# 换行
print('')
# 带步长方式生成序列进行遍历
for i in range(0, 10, 2):
print(i, end=',')
执行结果如下:
下面我们一起看两个for语句实现九九乘法表:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
print(u"九九乘法表:")
for i in range(1, 10):
for j in range(i, 10):
print(u"%d * %d = %2d" % (i, j, i * j), end=" ")
print("")
执行结果如下:
先来看下while循环的一般语法形式:
while 条件: # 代码块
要注意的是,在Python中没有do...while循环语句。
下面我们用while循环语句来计算0-100所有的偶数和:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
print(u"计算0-100间所有偶数和")
n = 100
index = 0
sum = 0
while index <= n:
sum = sum + index
index = index + 2
print(u"0-100间偶数和= %d " % sum)
结果如下:
计算0-100间所有偶数和示例0-100间偶数和= 2550
下面我们用while和for结合一起尝试实现一个九九乘法表:
# -*- coding:utf-8 -*-
__author__ = u'苦叶子'
if __name__ == "__main__":
print(u"九九乘法表实例:")
n = 1
while n <= 9:
for m in range(n, 10):
print(u"%d * %d = %2d" % (n, m, n*m), end=" ")
print("")
n = n + 1
运行结果如下:
对于break和continue语句的使用本节不做任何示例演示,请自行去研究和实践。