Python中的循环控制结构:

循环是指往复的执行某一段代码,Python中循环的两种循环分别为while循环和for循环。

循环控制基本流程图:

循环 定时 线程 python 循环控制python_循环 定时 线程 python

while 循环(比较适合处理循环次数未知的情况):

  1. 语法
"""
	初始条件设置:通常设置一个计数器,来控制条件表达式是否成立
	while 条件表达式:
		循环体
		改变计数器的值
	"""
  1. 执行流程:如果条件表达式成立True,执行循环体,循环体执行完,执行改变计数器的值,继续判断条件表达式是否成立,继续执行循环体。直到条件表达式为False,循环结束
    实例:计算1-100之间的数字和
i =1  # 初始条件设置
	sum_num = 0  # 初始化sun_num用来接收和
	while i <= 100:  # 判断初始条件是否使条件表达式成立
	    sum_num += i  # 将 i 累加
	    i += 1  # 改变初始条件,每次循环完 + 1
	print(sum_num)

while…else… 循环:

  1. 语法
"""
	初始条件设置:通常设置一个计数器,来控制条件表达式是否成立
	while 条件表达式:
		循环体1
		改变计数器的值
	else:
		代码块
	"""
  1. 执行流程:当while循环体正常执行完成后,执行else 代码块 中的内容。如果while循环没有正常执行完(例如:有break), 则不执行else
    实例:判断一个数是否为质数
# 质数的判断(指 一个大于 1 的自然数,除了1 和他本身外,不能整除其他自然数的数)
	num = int(input('请输入一个数字:'))  # 控制台输入一个数,转为int类型,赋值给 num	
	if num <= 1:
	    print('这不是质数')
	else:
	    i = 2
	    # 循环[2, num)之间的所有的数
	    while i < num:
	        # 如果存在能被num整除的数
	        if num % i == 0:
	            print('这不是一个质数')
	            break
	        i += 1  # 必须要有,设置循环条件 +1 ,没有陷如死循环
	    else:
	        print('这是一个质数')

while循环中的死循环:

  1. 产生的原因:循环条件判断语句一直为真True,循环体一直执行,这是就产生了死循环
  2. 实例:
# 死循环
	i = 10 
	while i < 11:
	    print('hahahah~~~~~~')
	# 由于没有改变计数器i的值所以陷如死循环

while 循环嵌套:

  1. 格式
"""
		计数器1
		while 条件表达式1:
		·	循环体1
			计数器2
			while 条件表达式2:
			    循环体2
				改变计数器2的值
			改变计数器1的值
	"""
  1. 执行流程:当条件表达式1成立的时候,执行循环体1,然后判断条件表达式2是否成立,如果成立则执行嵌套中的while循环,直到条件表达式2 不成立了,再执行改变计数器1 的值,然后再判断条件表达式1 是否成立。往复执行上面的流程
    实例:打印一个3 x 4 的矩阵
"""
	打印一个 3 x 4 的矩阵
	* * * *
	* * * *
	* * * * 
	"""
	# (这里会出现一个end=' '参数,在下篇博客详细介绍,这里先了解下)
	i = 0  # 计数器1:用来记录行
	while i < 3:
	    j = 0  # 计数器2:用来记录列
	    while j < 4:
	        print('*', end=' ')  # 输出'*' end 的作用是使每次打印以空格结束
	        j += 1  # 计数器2 每循环一次 + 1
	    i += 1  # 计数器1 每循环一次 + 1
	    print()  # 换行 此时里边有默认参数 end='\n'

for 循环(比较适合处理循环次数已知的情况):

  1. 语法
"""
for 临时变量 in 可迭代对象(例如:列表(list), 字符串(str)):
	循环体
"""
  1. 执行流程:将每一个可迭代对象中的每一个元素赋值给临时变量,然后执行循环体。 当可迭代对象中的元素全部遍历完后for循环停止运行
    实例:遍历列表中的数并输出
list1 = [1, 2, 3]
	for i in list1:  # 临时变量 i 是否在 列表 list1 中
	    print(i)
	"""
	输出结果:
		 	1
			2
			3
	"""

for…else…循环:

  1. 格式
"""
	for 临时变量 in 可迭代对象:
		循环体
	else:
		代码块
	"""
  1. 执行流程:同while…else… 循环类似,如果for循环正常执行完(没有遇到break),则执行else中的代码,否则不会执行else中的代码。
    实例:判断 5 是否在列表 list1 中
list1 = [1, 2, 3, 4, 6]
	for i in list1:
	    if i == 5:
	        print('在列表中')
	        break
	else:
	    print('不列表中')

for 循环中的range()函数:

  1. range(start, stop, step): 函数默认产生一个从0开始的一个整数列表。
    start:表示整数的开始位置
    stop:表示整数的结束位置,但是不包含此值
    step:表示步长默认为1
  2. 示例:
for i in range(1, 10):  # i 在 [1, 10) 之间 ,默认步长 1
	    print(i, end=' ')  # 输出:1 2 3 4 5 6 7 8 9 
	print()  # 换行
	for i in range(1, 10, 2):  # i 在 [1, 10) 之间 ,默认步长 2
	    print(i, end=' ')  # 输出:1 3 5 7 9

循环结束语句:

循环结束语句是:break和continue
break 用于结束一个循环,跳出循环体执行循环后面的语句
continue 用于终止本次循环,接着还执行后面的循环
示例:

for i in range(1, 10):
	    if i == 5:
	        break
	    else:
	        print(i, end=' ')  # 输出: 1 2 3 4 
	print()
	for i in range(1, 10):
	    if i == 5:
	        continue
	    else:
	        print(i, end=' ')  # 输出: 1 2 3 4 6 7 8 9

break 可以用于跳出死循环,用作一个开关:

# 如果条件成立,打印i, 让i + 1,当 i 等于 5 的时候 跳出循环
	i = 0
	while True:
	    print(i, end=" ")  # 输出:0 1 2 3 4 
	    i += 1
	    if i == 5:
	        break

for 循环嵌套:

  1. 语法
"""
	for 临时变量1 in 可迭代内容1:
		for 临时变量2 in 可迭代内容2:
			循环体
	"""
  1. 执行流程:外循环执行一次,内循环执行一遍
    示例:打印实心矩阵
for i in range(0, 3):
	    for j in range(0, 5):
	        print('*', end=" ")
	    print()
	   """
	   输出结果:
		    * * * * * 
			* * * * * 
			* * * * * 
	   """

在最后说一个循环嵌套经典案列:打印九九乘法表:

# while 循环嵌套:
	i = 1
	while i < 10:
	    j = 1
	    while j < i + 1:
	        print(j, 'x', i, '=', j * i, end='\t')
	        j += 1
	    i += 1
	    print()
	
	# for 循环嵌套:
	for i in range(1, 10):
	    for j in range(1, i + 1):
	        print(j, 'x', i, '=', j * i, end='\t')
	    print()

打印结果:

循环 定时 线程 python 循环控制python_循环控制语句_02