资源简介 (共15张PPT)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)分析题目要求案例1123…911 21 2 3…1 2 3 …9j 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=1while i<=9:j=1while :print(j,end=' ')j=j+1print()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循环嵌套三、类比练习请结合打印九九加法表的思路,修改下列代码,编写程序打印九九乘法表。案例3for 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~20for hen in range(0, 34): #内层循环控制母鸡数量取值范围0~33for chicken in range(0, 101): #内层循环控制小鸡数量取值范围0~100if (cock* 5 + hen* 3 + chicken/3 == 100) and (cock + hen + chicken == 100):print("公鸡=%2d,母鸡=%2d,小鸡=%2d/n" %(cock, hen, chicken))四、拓展练习小智想编写程序从键盘输入正整数n,计算并输出下列式子的结果。1!+2!+3!+…+n!说明:1!=1*12!=1*2n!=1*2*3*…*n阶乘相加s=0#存放阶乘相加的和n=int(input())for i in range(1,n+1,1):sj=1#存放阶乘,阶乘每次都重新计算for j in range(1,i+1,1):sj=sj*j#计算阶乘s=s+sj#阶乘相加print(s)thanks 展开更多...... 收起↑ 资源预览