第二讲 循环结构 教学课件-《Python 结构化程序设计调试》

2025-03-11
| 22页
| 359人阅读
| 4人下载
精品

内容正文:

目录/CONTENTS 1. for循环 2. while循环 4. 循环控制语句 3. 循环嵌套 5. 列表推导式 1 for循环 安徽省计算机类高考技能教学 2 什么是循环 在实际应用中,经常需要周而复始地做某一件事。针对此类问题,在Python中可以编写循环结构的程序来解决此类问题。 循环结构是控制一个语句块重复执行的程序结构,由循环条件和循环体两部分组成,循环结构的特点是:在一定条件下重复执行某些语句,直至重复到一定次数或该条件不再成立为止。 Python的循环只有两个for循环和while循环 接下来,我们具体了解for循环和while循环。 我们需要掌握for循环和while的语法结构,以及两者的优缺点,才能更好的解决Python的循环类型的问题。 for循环常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。 for循环的定义 语法结构: for 迭代变量 in 字符串|列表|元组|字典|集合: 语句块1 [else: 语句块2] for的循环次数取决于序列里面的元素个数 s=["张三","李四","王五"] for name in s: print(name) 遍历列表输出元素 第一次循环,name元素“张三”,输出“张三”; 第二次循环,name元素“李四”,输出“李四”; 第三次循环,name元素“王五”,输出“王五”; 已取值至结尾,结束循环 运行解释 遍历列表输出元素 range()函数 在for循环中可用内置函数range()方便快捷的生成一个整数序列。 Python中range()函数格式如下: range(start,stop[,step]) 参数说明: start:计数从start开始,默认是从0开始。如range(4)等价于range(0,4) stop:计数到stop结束,但不包括stop。如range(0,4)是包含数字[0,1,2,3] step:步长,默认为1。如range(0,4)等价于range(0,4,1),步长也可以为负整数如range(5,0,-1)则产生的整数序列为5 4 3 2 1 for i in range(1,6): print(i) 计算1-10的累加和 range()函数应用 s=0 for i in range(1,11): s+=i print(s) 输出整数1,2,3,4,5 倒序输出整数10-1 for i in range(10,0,-1): print(i) 计算1-100(包含100) 之间奇数的累加和 s=0 for i in range(1,101,2): s+=i print(s) while循环 安徽省计算机类高考技能教学 8 while循环执行顺序为:判断条件为True,执行语句块1,条件为False时退出循环执行else子句的语句块2(else子句可省略) while循环的定义 while 条件表达式: 语句块1 [else: 语句块2] n= 0 while n <4: # n<=3 print(str(n)+"小于4") n= n + 1 输出0至3的整数 第一次循环,n为0,0<4 结果为True, 输出”0小于4”,n+1,n1; 第二次循环,n为1,1<4 结果为True, 输出”1小于4”,n+1, n2; 第三次循环,n为2, 2<4 结果为True,输出”2小于4”,n+1 ,n3 ; 第四次循环,n为3, 3<4 结果为True,输出”3小于4”,n+1 ,n4 ; n<4 结果为False,结束循环。 运行解释 输出0至3的整数 i=1 while i<=5: print(i) i+=1 计算1-10的累加和 while循环例题训练 s=0 i=1 while i<=10: s+=I i+=1 print(s) 输出整数1,2,3,4,5 无限循环 while True: pass 计算1-100(包含100) 之间奇数的累加和 s=0 i=1 while i<=100: s+=i i+=2 循环嵌套 安徽省计算机类高考技能教学 12 一个循环体里面嵌套另外一个循环体时,称之为“循环嵌套”。for语句和while语句循环嵌套语法格式如下: for 变量1 in 遍历序列1: for 变量2 in 遍历序列2: 语句块2 语句块1 while 条件表达式1: while条件表达式2: 语句块2 语句块1 当然可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环,可以在for循环中嵌入while循环。 循环嵌套的定义 循环嵌套例题训练 打印九九乘法表 输出下列的图形 for i in range(1, 10): for j in range(1, i + 1): print(f"{j}*{i}={j * i}", end="\t") print() for i in range(1,6): print(" "*(5-i),end='') for j in range(1,2*i): print("*",end='') print() 循环控制语句 安徽省计算机类高考技能教学 15 break语句:用来跳出本层循环语句,在循环条件不为False或者序列还没循环完的情况下,也会终止循环语句。break语句可用在while和for循环中。若在嵌套循环中,break语句只跳出本层循环。 continue语句:用来跳出本次循环。continue后的剩余语句都将跳过,继续进行下一轮循环。continue语句用在while和for循环中。 pass是空语句,不作任何操作,纯粹为了保持程序结构的完整性。 循环控制语句:break、continue、pass num=int(input("请输入一个数:")) flag=True for i in range(2,num): if num % i != 0: pass continue else: # num%i==0 flag = False break if flag == True : print(num,"是素数") else: print(num,"不是素数") 素数又叫质数(prime number),有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。 输入:5 flag为True 循环从2至4 5 % 2 !=0 结果为True ,运行pass,continue结束本次循环; 5 % 3 !=0 结果为True ,运行pass,continue结束本次循环; 5 % 4!=0 结果为True ,运行pass,continue结束本次循环;结束循环,flag无改变,仍为True。 flag==True 结果为True 输出“5是素数” 运行解释 判断素数 判断素数 键盘连续输入数字进行累加,直到输入-1表示退出累加,输出累加和。 例题训练 num = eval(input("请输入自然数(n>=2):")) if num>=2: for i in range(2,num): if num%i==0: print(f"{num}不是素数") break else: print(f"{num}是素数") else: print(f"{num}不是素数") s = 0 while True: num = int(input("请输入数字(-1退出累加):")) if num == -1: break s += num print("累加和:", s) 列表推导式 安徽省计算机类高考技能教学 19 列表推导式 可以通过列表推导式快速高效的创建新的列表,有两种语法格式: [表达式 for 迭代变量 in 可迭代对象] 例题:生成1-10的整数存放于列表中 lst=[i for i in range(1,11)] [表达式 for 迭代变量 in 可迭代对象 if 条件表达式] 例题:1-10之间的偶数存放于列表中 lst=[i for i in range(1,11) if i%2==0] 列表推导式的嵌套 可以通过列表推导式的嵌套实现嵌套循环生成元素,语法格式如下: [表达式 for 迭代变量 in 可迭代对象 for 迭代变量 in 可迭代对象] 例题:打印 lst = [i % j for i in range(1, 3) for j in range(1, 4)] 的输出结果 lst = [i % j for i in range(1, 3) for j in range(1, 4)]等价于下面的代码 lst=[] for i in range(1, 3): for j in range(1, 4): lst.append(i%j) print(lst) 输出结果为:[0, 1, 1, 0, 0, 2] 谢谢观看 22 $$

资源预览图

第二讲 循环结构 教学课件-《Python 结构化程序设计调试》
1
第二讲 循环结构 教学课件-《Python 结构化程序设计调试》
2
第二讲 循环结构 教学课件-《Python 结构化程序设计调试》
3
第二讲 循环结构 教学课件-《Python 结构化程序设计调试》
4
第二讲 循环结构 教学课件-《Python 结构化程序设计调试》
5
第二讲 循环结构 教学课件-《Python 结构化程序设计调试》
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。