(
课件网) 0.引入新知 观察输出结果,分析每行数字与行数之间的关系。 小智想编写程序按照下列规律打印输出数字。 案例 4.4.3 循环嵌套 一、循环嵌套 格式要求 for 循环变量 in 序列: 语句或语句组 for 循环变量 in 序列: for 循环变量 in 序列: 语句或语句组 while 条件表达式: 语句或语句组 for 循环变量 in 序列: while 条件表达式: 语句或语句组 while 条件表达式: for 循环变量 in 序列: 语句或语句组 while 条件表达式: while 条件表达式: 语句或语句组 一、循环嵌套 题目中的变量有哪些? 行数i,每行的数字j 行数i变化的范围: i in range(1,10,1) 行数i与每行数字j的关系是? (1)分析题目要求 小智想编写程序按照下图打印输出数字。 案例1 一、循环嵌套 题目中的变量有: 行数i,每行的数字j 行数i与每行数字j的关系是? j in range(1,i+1,1) 小智想编写程序按照下图打印输出数字。 行数i 每行的数字j 两者之间的关系 (1)分析题目要求 案例1 1 2 3 … 9 1 1 2 1 2 3 … 1 2 3 …9 j in range(1,2,1) j in range(1,3,1) j in range(1,4,1) … j in range(1,10,1) 一、循环嵌套 题目中的变量有: 行数i,每行的数字j 行数i变化的范围: i in range(1,10,1) 行数i与每行打印数字j的关系是? j in range(1,i+1,1) 循环语句组是: 内循环print(j,end=' ') 外循环print() 小智想编写程序按照下图打印输出数字。 (1)分析题目要求 案例1 一、循环嵌套 for i in range(1,10,1): for j in range(1,i+1,1): print(j,end=' ') print() 小智想编写程序按照下图打印输出数字。 for循环嵌套 案例1 一、循环嵌套 i=1 while i<=9: j=1 while : print(j,end=' ') j=j+1 print() i=i+1 小智想编写程序按照下图打印输出数字。 while循环嵌套 案例1 二、巩固练习 小智想编写程序按照右图打印九九加法表。 案例2 对比分析右边两个输出结果,分析两者之间的关系。 红圈数字与下图数字的关系? 黄圈数字与行数的关系? (1)分析题目要求 二、巩固练习 小智想编写程序按照右图打印九九加法表。 案例2 黄圈数字(行数)i变化的范围: i in range(1,10,1) 红圈数字j变化的范围: j in range(1,i+1,1) (1)分析题目要求 分析加法等式与变量i,j的关系,及显示特点? i+j=' i与j相加的和 ' 输出一个加法式子后,空几格输出下一个加法式子 每个加法式子各个元素之间是紧紧挨着的 (1)分析题目要求 二、巩固练习 小智想编写程序按照右图打印九九加法表。 案例2 黄圈数字(行数)i变化的范围: i in range(1,10,1) 红圈数字j变化的范围: j in range(1,i+1,1) (1)分析题目要求 for i in range(1,10,1): for j in range(1,i+1,1): print(i,'+',j,'=',i+j,sep='',end=' ') print() for循环嵌套 三、类比练习 请结合打印九九加法表的思路,修改下列代码,编写程序打印九九乘法表。 案例3 for i in range(1,10,1): for j in range(1,i+1,1): print(i,'*',j,'=',i*j,sep='',end=' ') print() 九九乘法表 for i in range(1,10,1): for j in range(1,i+1,1): print(i,'+',j,'=',i+j,sep='',end=' ') print() 九九加法表 四、拓展练习 中国古代数学家张丘建在他的《算经》中提出一个著名的“ 百钱百鸡问题”:一只公鸡值5钱,一只母鸡值3钱,三只小鸡值一钱,现在耍用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只 百钱买百鸡 for cock in range(0, 21): # 外层循环控制公鸡数量取值范围0~20 for hen in range(0, 34): #内层循环控制母鸡数量取值范围0~33 for chicken in range(0, 101): #内层循环控制小鸡数量取值范围0~100 if (cock* 5 + hen* 3 + chicken/3 == 100) and (cock + hen ... ...