3.2.4 循环结构的程序实现课件-2025-2026学年浙教版高中信息技术必修一

2026-01-12
| 57页
| 1032人阅读
| 8人下载
普通

摘要:

该高中信息技术课件聚焦循环结构程序实现,通过“道歉一万遍”生活化案例导入,系统讲解for/while循环、range()函数及break/continue语句,结合BMI计算、累加求和等实例搭建从具体到抽象的学习支架。 其亮点在于以计算思维为核心,通过鸡兔同笼、韩信点兵等经典问题引导学生抽象建模,对比不同解法优化程序,融入学业水平真题强化应用。既培养学生算法设计能力,又为教师提供丰富实例,提升教学效率与学生数字化创新能力。

内容正文:

必修一《数据与计算》 第三章 算法的程序实现 3.2.4 循环结构的程序实现 学习目标: 循环结构 for语句 while语句 1 2 跟同学承认错误,说一万遍“同学,对不起!” 还有9997遍……… 使用循环,一个语句块搞定: 3.2.4 循环结构的程序实现 1 i = 0 2 while i <=10000 : 3 print(“同学,对不起!”) 4 i += 1 1 for i in range(10000): 2 print(“同学,对不起!”) 使用while循环语句: 使用for循环语句: 1 print “同学,对不起!” 2 print “同学,对不起!” 3 print “同学,对不起!” 必修一:数据与计算 我要判断100个人胖不胖该怎么办? 3.2.4 循环结构的程序实现 条件? 循环体 否 是 算法的控制结构-循环结构 循环结构是一种重复某一部分操作的结构。即在条件控制下,某些操作步骤需要重复执行(循环),在不满足重复处理条件时,循环结束。 必修一:数据与计算 开始 结束 输入身高、体重 计算BMI=体重/身高2 输出“哇,你有点胖了哟” BMI>24 输出“羡慕,你一点也不胖” Y N N n=0 Y n=n+1 n<=100 Python程序如下: 3.2.4 循环结构的程序实现 1 while n<100: 2 w=float(input(“请输入体重(kg):”)) 3 h=float(input(“请输入身高(m):”)) 4 bmi=w/(h**2) 5 if bmi>24: 6 print (”哇,你有点胖了哟!”) 7 else: 8 print (”羡慕,你一点也不胖”) 9 n=n+1 必修一:数据与计算 循环结构的类型 直到型:直到型循环结构是先执行循环体,直到条件成立时退出循环结构。先判断,再执行,循环次数确定的情况,通常选用for循环。 for循环 while循环 3.2.4 循环结构的程序实现 当型:当型循环结构是先判断条件,成立时执行循环体,否则退出循环结构。循环次数不确定的情况,先判断是否满足循环条件,满足则循环否则不循环,通常选用while循环。 无论哪一种循环结构,都有4个必不可少的部分:初始部分、循环条件、循环体、更新循环变量。 必修一:数据与计算 在python中,for语句的格式为: for <变量> in <序列>: <循环体> [else <语句块>] 3.2.4 循环结构的程序实现 for 语句 缩进 关 键 字 冒号 缩进 循环体 循环条件满足? 是 否 直到型循环 直到型循环结构是先在执行了一次循环体之后,再对控制条件进行判断,当条件不满足时执行循环体,满足时则停止。 循环次数确定的情况,先进行循环,然后再判断是否满足循环条件,满足则循环,否则退出循环。一般来说,直到型循环通常选用for语句。 无论哪一种循环结构,都有4个必不可少的部分:初始部分、循环条件、循环体、更新循环变量 。 必修一:数据与计算 例如要依次显示某名学生的兴趣爱好,(篮球, 羽毛球,看书,旅游,音乐 ),可以通过下列语句来实现: 该语句执行后,输出的结果是: “篮球”,“羽毛球”,“看书”,“旅游”,“音乐” 3.2.4 循环结构的程序实现 1 hobby= ["篮球", ”羽毛球", ”看书", "旅游”, "音乐"] 2 for x in hobby: 3 print (x) 必修一:数据与计算 为了更深入了解for循环,试着思考下面这个问题,如何打印出这样的结果? 1+1=2 2+1=3 3+1=4 ……… 10 + 1 = 11 python内置函数-------range() 分析: 1、一直进行如此计算: s=s+1; 2、如何获取数字序列[1,2,3,4,5,6,7,8,9,10]; 3、编写代码。 3.2.4 循环结构的程序实现 1 for num in range(1,11): 2 print(str(num)+“+1”+“=”,num+1) 必修一:数据与计算 range()函数语法结构: range (start , stop ,step) range()是Python的内置函数,range()函数用于生成一个整数序列,表示循环的意思。 range()函数 初值 (包含) 3.2.4 循环结构的程序实现 参数介绍: start:表示从返回序列的起始编号,默认情况下从0开始。 终值 (不包含) 步长 (默认为1,可以是正数, 可以是负数,但不能为0) stop:终止编号,表示生成最多但不包括此数字的数字。 step:指的是序列中每个数字之间的差异,默认值为1,可以是正数可以是负数但不能为0。 必修一:数据与计算 Range 函数 语法 示例 生成一个整数序列 range(参数1,参数2,参数3) 默认从0开始,含前不含后 第1个参数为起始数字 第2个参数为结束数字 第3个参数为步长(前后两个数字的差) range(2,11,3) range(2,5) range(5) 结果:2,5,8 结果:2,3,4 结果:0,1,2,3,4 作用 3.2.4 循环结构的程序实现 必修一:数据与计算 第一种:range(start,stop,step):创建一个在[start,stop)之间,步长为step的整数序列; range()的三种创建方式: 3.2.4 循环结构的程序实现 1 a=range( 1,10,2 ) 2 print ( list ( a ) ) 运行结果为: [1,3,5,7,9] 例如: 1 a=range( 1,10 ) 2 print ( list ( a ) ) 运行结果为: [1,2,3,4,5,6,7,8,9] 例如: 1 a= range( 10 ) 2 print ( list ( a ) ) 例如: 运行结果为: [0,1,2,3,4,5,6,7,8,9] 第二种:range(start,stop) (给了两个参数,即小括号中给了两个数) 第三种:range(stop) 只有一个参数(小括号中只给了一个数),即只有终值,指的是默认从0开始,步长为1,不包括10。 必修一:数据与计算 【例1】打印一个从1到20且相隔3的数字序列。 输出结果为:[ 1, 4, 7, 10, 13, 16, 19 ] 1 x = range(1, 20, 3) 使用for循环,python代码如下: 开始 结束 n<=20? n=n+3 n=1 输出n Y N 2 for n in x : 3 print(list(n)) 3.2.4 循环结构的程序实现 必修一:数据与计算 用range()函数创建递减序列: 可以通过使用负步长来创建递减序列。 range(10,0,-1) 输出结果为:10,9,8,7,6,5,4,3,2,1 用range()函数生成字符序列: 可以通过使用负步长来创建递减序列。 range(ord(‘A’ ),ord( 'Z' )+1) 输出结果为:ABCDEFGHIJKLMNOPQRSTUVWXYZ 3.2.4 循环结构的程序实现 必修一:数据与计算 小学的时候,老师教我们拿1到100的和 是观察规律;1+100= 101,2+99=101,……50+51=101,于是50*101 = 5050;后来上了初中才知道,这个是梯形面积公式=(上底+下底)x高÷2 ,上了高中才知道,这个等差数列的前n项求和公式。 若等差数列{an}的通项公式为:an=a1+(n-1)d、an=am+(n-m)d。等差数列前n项和公式:Sn=n*a1+n(n-1)d/2或Sn=n(a1+an)/2。 : 抽象与建模 【问题】设计一算法,求100以内自然数之和。 3.2.4 循环结构的程序实现 必修一:数据与计算 不过,计算机来算的话,通常是简单粗暴地算,直接从1累加到100,也称累加(连加)。其实步骤就是: 第一步:从1开始将自然数1、2、 3、…、100所有数逐个相加; 第二步:输出累加到100的结果。 3.2.4 循环结构的程序实现 i = i + 1 S=S + i 实际在重复计算这个步骤 S0=0,i=1 第1步: i=1, S1=S0+ 1 第2步: i=2,S2=S1 + 2 第3步: i=3,S3=S2 + 3 ……… 第100步:i=100,S100=S99 + 100 结果:输出S 思考: 上边的式子有怎样的规律呢? 必修一:数据与计算 求和100以内所有自然数之和(三种结构) 设计算法 i=1 s=0 i<=100 输出s s=s+i i=i+1 F T 结束 开始 S=0 i=1 s=s+i i=i+1 i>100 输出s F T 结束 开始 s=0 i=1 i<=100 i=i+1 输出s F T s=s+i 结束 开始 3.2.4 循环结构的程序实现 必修一:数据与计算 编写程序 使用for语句实现的程序代码: 1 i= 1 #给i赋初值 3.2.4 循环结构的程序实现 2 s= 0 #给i赋初值 3 for i in range( 1,101 ): #生成1~100自然数 4 s =s+i #求和 5 i=i+1 #将i逐渐递增 6 print( “100以内自然数之和为”,s ) #输出s 必修一:数据与计算 观察一下,这段程序代码能否优化? 1 s= 0 2 for i in range(1,101): 3 s =s+i 4 print(“100以内自然数之和为”,s ) 3.2.4 循环结构的程序实现 优化程序代码: 必修一:数据与计算 3、编程求1~100的所有偶数的和。试采用两种不同的方式实现。 思考与练习(page95): 方法一: 方法二: 1 s=0 #给s赋初值 2 for x in range(1,101): #生成1~100整数 3 if x%2==0: #判定x是偶数 4 s=s+x #求和 5 print(“1~100的所有偶数的和是:”,s) 1 s=0 #给s赋初值 2 for x in range(2,101,2): #生成1~100偶数 3 s=s+x #求和 4 print(“1~100的所有偶数的和是:”,s) 必修一:数据与计算 编程求1~100所有奇数和。试采用两种不同的方式实现,并考虑程序的效率。 方式一: 方式二: 拓展练习 1 s=0 2 for x in range(1,100,2): 3 if x%2==1: 4 s=s+x 5 print(“1~100的所有奇数的和是:”,s) 1 s=0 2 for x in range(1,101,2): 3 s=s+x 4 print(“1~100的所奇偶数的和是:”,s) 必修一:数据与计算 【例】打印九九乘法表。 1 for i in range(1, 10): 2 for j in range(1, 10): 3 print(f'{i} x {j} = {i*j}', end='\t') 4 print() 3.2.4 循环结构的程序实现 循环的嵌套 for <变量1> in <序列>: for <变量2> in <序列>: <循环体> ……………… 外循环 内循环 循环次数:外循环次数 × 内循环次数 必修一:数据与计算 大约一千五百年前,我国古代数学名著《孙子算经》中记载了一道数学趣题,这就是著名的“鸡兔同笼”问题。书中是这样叙述的:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?”请用Python语言编程实现计算鸡兔数量。 《孙子算经》中采用的解题方法。 1、抬腿,即鸡“金鸡独立”,兔两个后腿着地,前腿抬起,腿的数量就为原来数量的一半。94÷2=47只脚。 2、现在鸡有一只脚,兔有两只脚。笼子里只要有一只兔子,脚数就比头数多1。 3、那么脚数与头数的差,47-35=12,就是兔子的只数。 4、最后用头数减去兔的只数,35-12=23,就得出鸡的只数。 1 head =35 2 foot =94 3 for chicken in range(0, head+1): 4 rabbit= head- chicken 5 if chicken*2+rabbit*4== foot: 6 print(“鸡有” + str(chicken) + “只,”,“兔子有" + str(rabbit) + "只。") 3.2.4 循环结构的程序实现 必修一:数据与计算 简单算法的实现——解析算法 设鸡有x只,兔子有(35−x)只,然后根据鸡有2条腿,兔子有4条腿的特性,设立方程: 2x+4(35−x)=96。 将方程2x+4(35−x)=96展开和整理,得到: 2x+140−4x=96。 将方程2x+140−4x=96化简,得到: 2x=44。 求解方程2x=44,得到x=22,代表鸡有22只。 根据x的值,求解35−x=35−22,得到13,代表兔子有13只。综上,本题答案为:鸡有22只,兔子有13只。 必修一:数据与计算 所谓解析法(analysis algorithm)是指根据问题的前提条件与所求结果之间的关系,找出求解问题的数学表达式,并通过表达式的计算来实现问题的求解 已知条件 求解目标 x + y = 35 2x + 4y = 94 求鸡的个数 求兔的个数 用解析算法解决问题 《孙子算经》的作者提出了两种解法: 术曰:上置三十五头,下置九十四足。半其足,得四十七,以少减多,再命之,上三除下四,上五除下七,下有一除上三,下有二除上五,即得。 又术曰:上置头,下置足,半其足,以头除足,以足除头,即得。 Python代码: head=35 foot=94 for x in range(1,head+1): for x in range(1, head+1): if x+y==head and 2*x+4*y==foot: print (“鸡的数量是:”x) print (“兔的数量是:” y) 简单算法的实现——解析算法 22 13 必修一:数据与计算 26、(12分)大约1500年前,《孙子算经》中就记载了鸡兔同笼问题:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔个几何?意思就是:有若干只鸡和兔在同一个笼子里,从上面数,有三十五个头;从下面数,有九十四只脚。求笼中鸡和兔各有几只?小邓利用循环结构进行问题求解,其中设鸡的数量为x、兔的数量为y,同时满足如下两个条件:x+y=35和2x+4y=94,则问题有解。程序如下: (1)该程序采用的算法是______________。 (2)程序运行结束后,第5行if语句一共执行了___________次。 小朱同学看到小邓的程序后,修改了部分代码,修改后的代码如下: (3)小朱修改的程序运行结束后,第5行if语句一共执行了________次,小朱的代码__________(选填“降低了”、“没有提高”或“提高了”)程序的执行效率。 2022年春季学期学业水平考试第26题 解析算法 1225 35 提高了 设鸡有x只,兔子有(35−x)只,然后根据鸡有2条腿,兔子有4条腿的特性,设立方程: 2x+4(35−x)=96。 将方程2x+4(35−x)=96展开和整理,得到: 2x+140−4x=96。 将方程2x+140−4x=96化简,得到: 2x=44。 求解方程2x=44,得到x=22,代表鸡有22只。 根据x的值,求解35−x=35−22,得到13,代表兔子有13只。 综上,本题答案为:鸡有22只,兔子有13只。 必修一:数据与计算 (12分)大约1500年前,《孙子算经》中就记载了鸡兔同笼问题:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔个几何?意思就是:有若干只鸡和兔在同一个笼子里,从上面数,有三十五个头;从下面数,有九十四只脚。求笼中鸡和兔各有几只?小邓利用循环结构进行问题求解,其中设鸡的数量为x、兔的数量为y,同时满足如下两个条件:x+y=35和2x+4y=94,则问题有解。程序如下: (1)该程序采用的算法是_______________。 (2)程序运行结束后,第5行if语句一共执行了_____________次。 解析算法 1225 练习(2022年春季学期学业水平考试第26题) 1 head=35 #头的数量 2 foot=94 # 脚的数量 3 for x in range(1,head+1) : 4 for y in range(1,head+1): 5 if x+y==head and 2*x+4*y==foot : 6 print(“鸡的数量是:”,x,“兔的数量是:”,y) 必修一:数据与计算 (12分)大约1500年前,《孙子算经》中就记载了鸡兔同笼问题:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔个几何?意思就是:有若干只鸡和兔在同一个笼子里,从上面数,有三十五个头;从下面数,有九十四只脚。求笼中鸡和兔各有几只?小邓利用循环结构进行问题求解,其中设鸡的数量为x、兔的数量为y,同时满足如下两个条件:x+y=35和2x+4y=94,则问题有解。程序如下: 小朱同学看到小邓的程序后,修改了部分代码,修改后的代码如下: (3)小朱修改的程序运行结束后,第5行if语句一共执行了__________次,小朱的代码____________(选填“降低了”、“没有提高”或“提高了”)程序的执行效率。 35 提高了 练习(2022年春季学期学业水平考试第26题) 1 head=35 #头的数量 2 foot=94 # 脚的数量 3 for x in range(1,head+1) : 4 y=head-x 5 if 2*x+4*y==foot : 6 print(“鸡的数量是:”,x,“兔的数量是:”,y) 必修一:数据与计算 3.2.4 循环结构的程序实现 流 程 图 开始 i=1 s=1 i=i+1 s=s*i i≤100 输出s 结束 n y 【问题】设计一算法,求100的阶乘。 100! 阶乘 是基斯顿 · 卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1,即 0!=1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。 亦即 n!=1×2×3×...×(n-1)×n 阶乘亦可以递归方式定义: 0! = 1,n! = (n-1)! × n。 必修一:数据与计算 3.2.4 循环结构的程序实现 使用自定义函数def语句: 直接法Python代码: 1 s=1 2 i=1 3 for i in range(1,101): 4 s=s*i 5 i=i+1 6 print (”100阶乘是:”,s) 1 s=1 2 for i in range(1,101): 3 s=s*i 4 print(s) 1 def factorial(n): 2 s=1 3 for i in range(2,n+1): 4 s=s*i 5 return s 6 print(factorial(5)) 优化的for语句: 【问题】设计一算法,求100的阶乘。 100! 必修一:数据与计算 1、在Python中,下列程序是实现计算1 × 2 × 3 × …… × 10的积,在第1行和第3行的下划线处应该填写( ) A、s=1 s=s*x B、x=1 s=s*x C、s=0 x=s*x D、x=0 x=s*x A 1 ____________________________ 2 For x in range(1,11): 3 _______________________ 4 print(s) s=1 s=s*i 练习 必修一:数据与计算 2、运行下列Python程序代码后输出的结果是( ): A、1 5 B、5 1 C、24 4 D、24 5 练一练 C 1 sum=1 2 for i in range(1,5): 3 sum=sum*i 4 print(sum,i) 必修一:数据与计算 3、在Python中,下列程序执行后,最后一行现实的数字是( ): A、2 B、52 C、100 D、102 B 练一练 1 for i in range(2,100,50): 2 print(i) 必修一:数据与计算 4、下列python程序用于计算0到100之间的偶数和,程序第二行下划线处应填入: A、100 1 B、100 2 C、101 1 D、101 2 练一练(2022年春节学期学业水平考试) D 1 s=0 2 for i in range(0,________,_________): 3 s=s+i 4 print(s) 必修一:数据与计算 【4、变型】下列python程序用于计算0到100之间的奇数和,程序第二行下划线处应填入: A、100 1 B、100 2 C、101 1 D、101 2 练一练(2022年春节学期学业水平考试) B 1 s=0 2 for i in range(0,________,_________): 3 s=s+i 4 print(s) 必修一:数据与计算 【4、变型】下列python程序用于计算0到100之间的正整数之和,程序第二行下划线处应填入: A、100 1 B、100 2 C、101 1 D、101 2 练一练(2022年春节学期学业水平考试) C 1 s=0 2 for i in range(0,________,_________): 3 s=s+i 4 print(s) 必修一:数据与计算 5、民间流传着“韩信点兵”的故事。韩信带1500名士兵打仗,战死四五百人,剩下的士兵排队,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出6人。韩信马上说出人数:1049人。补充完善下面python程序第3三行划线处代码( )。(教材108页第5题) A、num%3==2 and num%5==4 and num%7==6 B、num%3==2 or num%5==4 or num%7==6 C、num//3==2 and num//5==4 and num//7==6 D、num//3==2 or num//5==4 or num//7==6 A 练一练(2021年秋节学期学业水平考试) 1 #韩信点兵 2 for num in range(1000,1100): 3 if _____________________________: 4 print(“剩余士兵数是:”,num) 必修一:数据与计算 6、某公司在第一年购买了一台价值为120万的设备,该设备的价值在使用过程中逐年减少。已知从第二年到第六年,每年初的价值比上年减少10万元;从第七年开始,每年初的价值为上年的75%。编写python程序计算第十年初的设备的价值,程序第5行下划线处应填入( ): A、value=120-10 B、 value=value-10 C、value=120-i D、 value=value-i 1 #计算设备现有价值 2 value=120 3 for i in range(2,11) 4 if i<=6: 5 __________________ 6 else: 7 value=value*0.75 8 print (“该设备第十年初的价值为:”,value,“万元”) B 练一练(2021年秋节学期学业水平考试) 第二年到第六年每年初的价值比上年减少10万元,则第一年为value,则每年为: value= value-10。选B。 必修一:数据与计算 在Python中,print函数后会带很多参数,例如: print(num,end =‘‘) 其中“end=’ ’”的作用相当于在print()函数的结束值设置一个空格。这样,下一次对print()的调用结果将直接从空格处的右边开始。而print()函数默认以换行符作为其结束值。end = ‘ ’时,end值为空格,end = ‘’时end值为空字符串,end=‘python’,end的值为“python”。 拓展链接 例如: 3.2.4 循环结构的程序实现 1 print(“2024年”,end = ‘秋季学期’) #end值为字符串‘秋季学期’ 输出结果为: 2024年秋季学期 例如: 1 print(‘*’,end = ‘’) #end值为空字符串 输出结果为: * 必修一:数据与计算 【例】在Python中,下列程序执行后会看到( )个“*”: A、2 B、10 C、5 D、15 A 拓展链接 1 for x in range(0,10,5): 2 print(“*”,end=“ ”) 【分析】先要分析循环了多少次,才能确定“*”的数量。 range(0,10,5)一共生成[0,5]两个数,即循环了2次,所以一共产生了两个“*”。 必修一:数据与计算 1、在Python中,下列程序执行后会看到( )个“*”: A、7 B、9 C、6 D、12 D 练一练(2020年秋季学期学业水平考试) 【分析】先要分析循环了多少次,才能确定“*”的数量。 range(0,3)一共生成[0,1,2]三个数,即循环了3次; range(0,4)一共生成[0,1,2,3]四个数,即循环了4次;所以一共产生了3*4个“*”。 1 for x in range(0,3): 2 for y in range(0,4) 3 print(“*”,end=“ ”) 必修一:数据与计算 while语句 在许多情况下,当一个循环执行之前,可能并不知道它需要执行的次数。这时,就可以使用 while循环。其常见格式如下: while <条件>: <循环体> while循环在执行时,首先会判断条件是否为真,如果条件为真,执行一次循环体,再判断条件是否为真,如果任然为真,那么再执行一次循环体,以此类推,直到条件为假时退出while语句。 无论哪一种循环结构,都有4个必不可少的部分:初始部分、循环条件、循环体、循环变量 。 3.2.4 循环结构的程序实现 循环体 循环条件满足? 是 否 当型循环 缩进 关 键 字 冒号 当型循环(while loop)在每次循环开始之前先判断条件是否成立,只有条件为真时才进入循环体执行操作。如果条件为假,则跳过循环体直接结束循环。 必修一:数据与计算 【思考与练习】某城市现有人口80万,如果每年的人口增长率为1.2%,问:多少年以后该城市的人口达到100万? 分析如下: 今年人口总数:s=80 第1年人口总数:s1=80+80*0.012 第2年人口总数:s2=s1+s1*0.012 第3年人口总数:s3=s2+s2*0.012 …… 第n年人口总数:sn=sn-1+sn-1*0.012 于是得到计算公式: s=s+s*0.012 3.2.4 循环结构的程序实现 开始 S=80 s<=100? s=s+s*0.012 结束 T F n=0 n=n+1 输出n 必修一:数据与计算 【思考与练习】某城市现有人口80万,如果每年的人口增长率为1.2%,问:多少年以后该城市的人口达到100万? 参考程序如下: 开始 S=80 s<=100? s=s+s*0.012 结束 T F n=0 n=n+1 3.2.4 循环结构的程序实现 1 s=80 2 n=0 3 while s<=100: 4 s=s+s*0.012 5 n=n+1 6 Print (n,“年之后该城市人口达到100万”) 输出n ① ② ③ ④ ⑤ ⑥ 必修一:数据与计算 1、如下程序段: 执行后,a、b的值分别是( ) A、4 2 B、16 64 C、8 8 D、2 1 1 a=2 2 b=1 3 while a>b: 4 b=a*b 5 a=2*a 练一练 一共循环了: 第一次:a=2,b=1,则a>b,那么 a=2*2=4,b=2*1=2 第二次:a=4,b=2,则a>b,那么 a=2*4=8, b=4*2=8 第三次:a=8,b=8, 则a=b,那么 a=2*8=16,b=8*8= 64 第四次:a=16,b=64,则a<=b, 退出循环 B 必修一:数据与计算 2、“猜数游戏”中,计算机随机生成一个0~10之间的整数,用户输入一个整数进行猜测,计算机根据用户输入的数据进行比对,直到用户猜中为止。为了实现“猜数游戏”,补充完善下列Python程序第5行代码: A、guess!=number B、 guess=! number C、guess==number D、 guess=number 1 #猜数游戏 2 import random 3 number=random.randint(0,10) 4 guess=int(input(“请输入猜测的数:”)) 5 while _______________________ 6 guess=int(input(“猜错了,请继续输入猜测的数:”)) 7 print (“恭喜你,猜对了!”) 练一练(2021年秋季学期学业水平考试) A 必修一:数据与计算 3、设计一个算法,求满足1+2+3+……+n的大于100 的最小正数? 1 s=0 python参考程序如下: 2 i = 0 3 while s < =100: 4 i += 1 5 s += i 6 print(“满足1+2+3+...+n大于100的最大 i 为:", i) 开始 结束 i=1,s=0 s=s+i i=i+1 S<=100? 输出i-1 Y N 练一练 必修一:数据与计算 4、“不积跬步,无以至千里;不积小流,无以成江海。”每天进步一点点,一年后,你将进步很大;而每天退步一点点,一年后,你将落后很多。为完成两个励志公式1.01365≈37.8和0.99365 ≈0.03的计算,补充完善下面Python程序第6行划线部分的代码。 A、0.99**365 B、s2*0.99 C、s2*1.01 D、1.01**365 练一练(2021年春节学期学业水平考试) B 1 #计算1.01的365次幂,0.99的365次幂 2 s1=1 3 s2=1 4 for i in range(365): 5 s1=s1*1.01 6 s2=_____________ 7 print(“每天进步一点点,365天后你将得到:”,s1) 8 print(“每天进步一点点,365天后你将得到:”,s2) 必修一:数据与计算 【编写程序】 使用for语句实现: 5、我国古代数学家张丘建在《算经》中提出如下数学问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何?使用Python语言编写计算机程序解决该问题。 【分析-抽象与建模】假设100钱可以买到x只公鸡,y只母鸡,z只小鸡。根据题意可得下列方程组: x+y+z=100 5x+3y+z/3=100 1 for x in range(21): 2 for y in range(34): 3 for z in range(100): 4 if 5*x+3*y+z/3==100: 5 print(x,y,z) 练一练 必修一:数据与计算 6、所谓“水仙花数”是指一个三位数,其各位数字的三次方之和等于该数本身。例如:153=13+33+53,故153是水仙花数,下面的程序用于输出100到999之间的水仙花数,完成划线处程序填空。 开始 k=100 k<=999? k<=x**3+y**3+z**3? x=k//100,y=k//10%10,z=k%10 输出k 结束 T T F F 自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:当 n 为 3 时, 有 13 + 53 + 33 = 153,153 即是 n 为 3 时的一个自幂数,3 位数的自幂数被称为水仙花数。当 n 为 4 时, 有 14 + 64 + 34 + 44 = 1634,1634即是 n 为 4时的一个自幂数,4 位数的自幂数被称为玫瑰花数。 )。 1 for k in range(100, 1000): 2 x = k // 100 3 y = ① 4 z = k % 10 5 if : ② 6 print(k) k // 10% 10 k == x**3 + y**3 + z**3 练一练 必修一:数据与计算 break:在for循环或while循环结构中使用break语句,用于结束整个循环。 continue:在for循环或while循环结构中使用continue语句,用于结束当前循环。continue关键字仅仅只结束当前这一轮循环,而不会结束全部循环。 相同: 1. break 和 continue 都有着结束当前这次循环的作用。 2. break 和 continue 都经常和if 搭配使用。 3. break 和 continue 是单独的语句,不需要参数,也不能放在判断语句中。 不同: 1. break 是跳出循环,不继续下次循环;continue是结束当前这次循环,但是还继续下次循环。 2. break 对 for else 和 while else 有特殊的作用,continue没有。 3. break 应用的要比continue广,多数情况下用 break 而不是 continue。 3.2.4 循环结构的程序实现 必修一:数据与计算 语句1 表达式1 表达式2 语句2 循环的下一个语句 T T F F break Break 在循环结构中使用break语句,用于结束整个循环。 3.2.4 循环结构的程序实现 break 语句用于跳出当前所在层的循环,无论是 for 循环还是 while 循环,当 break 语句被执行时,控制流将跳出循环体,继续执行紧随循环块后面的代码。break 语句通常与条件语句(如 if 语句)一起使用,用来在满足特定条件时提前退出循环。 使用 break 退出 for 循环: 1 # 遍历一个列表 2 for item in [1, 2, 3, 4, 5]: 3 # 如果元素值为3,退出循环 4 if item == 3: 5 break 6 print(item) 在这个例子中,for 循环将遍历列表中的每个元素。当列表中的元素值为 3 时,if 语句的条件成立并执行 break 语句,导致从循环中跳出,因此后续的元素(4 和 5)不会被打印。 必修一:数据与计算 3.2.4 循环结构的程序实现 1 for x in range(1,6): 2 if in==3 : 3 break 4 print( i ) 1 for x in range(1,6): 2 if in==3 : 3 continue 4 print( i ) 输出结果:1,2 输出结果:1,2,3,4,5 必修一:数据与计算 语句1 表达式1 表达式2 语句2 循环的下一个语句 T T F F continue Continue 在循环结构中使用continue语句,用于结束当前循环。 3.2.4 循环结构的程序实现 必修一:数据与计算 Break使用示例:本例子中轮询列表变量ls,当轮询到“深”这个字时候,直接结束整个for循环,从而只打印“深”之前的“桃花潭水“。 输出结果:桃花潭水 break语句用于结束循环,若循环中使用break语句,程序执行到break语句时会结束循环;若循环嵌套使用了break语句,程序执行到break语句时会结束本层循环。 break就像是终止按键,不管执行到哪一步,只要遇到break,不管什么后续步骤,直接跳出当前循环。 ls=["桃","花","潭","水","深","千","尺"] s="“ for i in ls: if i == "深": break s = s + i Print(s) 3.2.4 循环结构的程序实现 必修一:数据与计算 Continue使用示例:本例中for循环遍历字符串s,当遍历到字符等于"l"的时候,continue关键字仅仅只结束当前这一轮循环,而不会结束全部循环,所以当第三第四次遍历到"l"以后,for循环会继续遍历列表下一个字符,即"o"。所以最终纳入n=n+1统计的字符是"heoword",一共7个。 注意:continue语句并没有使整个循环终止,continue 只能在循环语句中使用。 s="helloworld“ n=0 for i in s: if i == "l": continue n = n + 1 print(n) continue语句用于在满足条件的情况下跳出本息循环,该语句通常也与if语句配合使用。 输出结果:7 3.2.4 循环结构的程序实现 必修一:数据与计算 本节课到此结束 $

资源预览图

3.2.4 循环结构的程序实现课件-2025-2026学年浙教版高中信息技术必修一
1
3.2.4 循环结构的程序实现课件-2025-2026学年浙教版高中信息技术必修一
2
3.2.4 循环结构的程序实现课件-2025-2026学年浙教版高中信息技术必修一
3
3.2.4 循环结构的程序实现课件-2025-2026学年浙教版高中信息技术必修一
4
3.2.4 循环结构的程序实现课件-2025-2026学年浙教版高中信息技术必修一
5
3.2.4 循环结构的程序实现课件-2025-2026学年浙教版高中信息技术必修一
6
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。