新手小白学python——Python中的流程控制语句-循环控制结构

Python中的循环控制结构:

循环是指往复的执行某一段代码,Python中循环的两种循环分别为while循环和for循环。
循环控制基本流程图:
新手小白学python——Python中的流程控制语句-循环控制结构_第1张图片

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

  1. 语法

    	"""
    	初始条件设置:通常设置一个计数器,来控制条件表达式是否成立
    	while 条件表达式:
    		循环体
    		改变计数器的值
    	"""
    
  2. 执行流程:如果条件表达式成立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:
    		代码块
    	"""
    
  2. 执行流程:当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的值
    	"""
    
  2. 执行流程:当条件表达式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)):
    	循环体
    """	
    
  2. 执行流程:将每一个可迭代对象中的每一个元素赋值给临时变量,然后执行循环体。 当可迭代对象中的元素全部遍历完后for循环停止运行

    实例:遍历列表中的数并输出

    	list1 = [1, 2, 3]
    	for i in list1:  # 临时变量 i 是否在 列表 list1 中
    	    print(i)
    	"""
    	输出结果:
    		 	1
    			2
    			3
    	"""		
    

for…else…循环:

  1. 格式
    	"""
    	for 临时变量 in 可迭代对象:
    		循环体
    	else:
    		代码块
    	"""
    
  2. 执行流程:同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:
    			循环体
    	"""
    
  2. 执行流程:外循环执行一次,内循环执行一遍
    示例:打印实心矩阵
    	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中的流程控制语句-循环控制结构_第2张图片

你可能感兴趣的:(新手小白学python——Python中的流程控制语句-循环控制结构)