(
课件网) 兔子繁殖问题 ———for 循环的程序实现 1991年 1992年 ×2 1-N年 ? 前提:资源条件充足 在一个农场里,最初养了3只兔子,每一年兔子的数量会翻倍涨到原来的2倍。那么,在资源条件允许并且所有兔子生存着的条件下,农场管理员需要知道到第N年为止,每一年兔子的数量? 循环结构:算法执行过程中,在条件控制下,某些操作步骤需要重复执行(循环)的控制结构。 循环结构的流程图 条件表达式 语句块1 语句块2 Y N 回顾:循环结构 HOW 如何用程序实现循环 for循环的概念与用法 01 for 循环语句 for语句的格式: for <变量> in <序列>: <循环体> [else: <语句块>] 1.通过遍历序列中的元素实现循环。 2.序列的元素数量控制循环次数。 3.循环过程中,序列中的每个元素都会依次被赋值给变量,并分别执行一次循环体。 执行过程 列表、字符串或内建函数range() 缩进 开始循环 该else子句可选 for 循环:一种规定次数的循环, 比如循环5,10次 for 语句 for i in ["篮球", "羽毛球", "看书", "旅行", "音乐"]: print(i), for i in range(0,10,1): print(i,end=’’), 若序列中的元素为有序整数,可利用内建函数range实现 起始值 终 值 步 长 左闭右开区间 注:起始值为0,可省略不写;步长为1,可省略不写。 兔子繁殖问题 02 在一个农场里,最初养了3只兔子,每一年兔子的数量会翻倍涨到原来的2倍。那么,在资源条件允许并且所有兔子生存着的条件下,农场管理员需要知道到第N年为止,每一年兔子的数量? 问题描述——— 1991年 1992年 ×2 1-N年 ? 前提:资源条件充足 探究实践 抽象与建模 抽象 建模 + N=1 N=2 年数N i=0 i=1 i=2 i=3... i=N年 兔子数量 rabbit rabbit=3 rabbit= rabbit= rabbit= rabbit= 6=3*2 12=6*2 24=12*2 6 24 12 循环体计算模型: rabbit=rabbit*2 3*2*2*2... i Y N 开始 rabbit<—3,i<—1 输入N年 输出rabbit的值 结束 i+=1 i<=N rabbit=rabbit*2 设计算法 编写程序 rabbit=3 #初始时,兔子的数量 N=int(input("请输入N的值:")) #输入N的值 for i in range( ): #计算每年兔子数量,变量i循环遍历 #每次循环,兔子的数量都翻一番 print("第",i,"年,兔子的数量为:",rabbit) 1,N+1,1 rabbit=rabbit*2 能力提升 03 ———鸡兔同笼 编写程序一 head=int(input("请输入头:")) foot=int(input("请输入脚:")) for ji in range( ): tu=head-ji #兔子的数量 if : print("鸡有",ji,"只,兔有",tu,"只") 问题:鸡兔同笼,笼中头有head个,脚有foot只,求鸡和兔各有多少只并输出。 0,head+1,1 foot==(ji*2+tu*4) 课堂小结 04 01 for语句语法格式 for 循环 02 for语句的执行过程 课堂小结 for <变量> in <序列>: <循环体> [else: <语句块>] for语句最主要应用就是控制循环体的执行次数,序列中的元素个数控制循环次数。 03 range( )函数 range(start, stop, step) start: 计数从 start 开始。省略时默认是从 0 开始;stop: 计数到 stop 结束,不包括 stop;step:步长,省略时默认为1。 拓展提高 05 编写程序二 for ji in range( ): for tu in range( ): if : print(ji,tu) 问题:鸡兔同笼(鸡和兔至少一只),若共有腿88条,求鸡和兔的所有可能组并输出。 编写程序二 for ji in range( ): for tu in range( ): if : print(ji,tu) 问题:鸡兔同笼(鸡和兔至少一只),若共有腿88条,求鸡和兔的所有可能组并输出。 1,44 1,22 ji*2+tu*4==88 ... ...