Python_while循环嵌套
1、课程目标
① 掌握循环嵌套的基本使用语法
② 可以使用循环嵌套打印出九九乘法表
③ 学会for循环的基本语法,使用for循环改进九九乘法表
2、break和continue 的使用规则了解
① break语句用于结束循环,若循环中使用了break语句,程序执行到break
语句时会结束循环;若循环嵌套使用了break语句,程序执行到break语句时会
结束本层循环
#输入如下代码,观察打印输出的结果
a = 1
while a <= 5:
if a == 3:
break
print(a)
a += 1
② continue语句用于在满足条件的情况下跳出本次循环,该语句通常也与if语
句配合使用。
#输入如下代码,观察打印输出的结果
a = 1
while a <= 5:
if a == 3:
a += 1
continue
print(a)
a += 1
总结:
break和continue的区别,break是跳出循环
continue则是跳出本次循环执行下一次循环
3、end= 的使用
end='' 表示在打印结束后不换行
end = '\t' 表示在每次打印结束后不换行,下次打印和上次打印用制表符(Tab键的宽度)分割开
end = '\n' 表示在打印结束后换行
4、循环嵌套
回顾之前学习的if嵌套,即if里面嵌套一层if
那么同样的while循环嵌套,就是 while循环里面嵌套了另一层循环。基本使用语法参照如下:
#循环嵌套的使用语法
变量初始值
while 外层循环的条件:
外层循环执行语句...
while 内层循环的条件:
内层循环的执行语句
修改变量值(控制内层循环的次数)
修改变量值(控制外层循环的次数)
看一下下面这段代码,敲在自己电脑上,看看运行结果,是你想的那样吗?
a = 1
while a <= 9:
b = 1
print("a =",str(a),end='\n')
while b <= 9:
print("b =",str(b),end="\t")
b += 1
a += 1

注意看:当a = 1时,打印a=1,同时此时b=1并进入到b的内层循环结构,b 会从1到9打印一遍,然后内层循环第一次结束;
接着a+1=2,进入第二次循环;注意看,定义变量b=1是在a 循环的里面,所以这个时候,b 又被重新赋值了,所以 b 的代码又被从 1到 9 打印了一遍,是不是这样?
然后依次如此,直到 a = 9 的时候b 打印完毕后,a+1=10,不满足条件,循环结束。
我们可以发现,a每打印一次,b 都会从1到9打印一遍,a 打印了 9 遍,b 总共打印了 81 遍。
是不是发现我们加个乘法在打印的时候打印成 a × b 就和九九乘法表很像呀?但是它和九九乘法表还是有一点不一样,我们再来看一下九九乘法表的排列规则。

在代码中的 print 函数的打印规则是一行行打印的,所以我们假设 a等于行数,b 为列数。
当a = 1的时候,只有1 * 1=1一列,当a = 2的时候有1*2 和 2*2 两列;当a =9的时候,有9列。
是不是它的列数是不是始终都是从 1开始,当时最大也只是和行数相等?
所以这个时候我们再回来看代码,看我们的第二层循环(内层循环),我们把它设置为 b(列数) <= a( 行数)来进行循环。
现在我们跟着代码的执行顺序来看下,当a = 1 的时候进入 b 循环,b=1<=a,打印,然后 b+1=2,不符合规则结束循环;
a+1=2第二次进入循环,b还是从1开始,b<=a,所以b 可以等于 1和2;这样打印是不是就变成了 1*2 和2*2了,以此类推下去。。。。是不是就符合我们九九乘法表差不多了啊?

改进之后的结果:

看到了吗?我们在 print 打印语句的后面加上“end ="\t" ”,这是什么意思呢?“\t”代表制表符,就是按照表格的形式打印,end=“”表示输入一个制表符打印结束不换行.
是不就是我们说的内层循环中,把 1 的乘法口诀打完才允许结束,然后才能换行,这时候在 b 的循环结构外面加个 print("") 让它换一行,接着打印 a = 2。
写到这里,我们九九乘法表的代码算是全部完成了
赶紧自己动手敲一敲吧!!
5、for循环
什么是 for 循环呢? For 循环是 Python 中最强大的循环结构,我们现在所学的只是他的冰山一角,随着日后我们对 Python 学习的不断深入,我们还会更深入的使用到他。
它呢是一种迭代循环,所谓迭代循环就是重复相同的逻辑操作,是不是很难懂 ?
没事老师举个例子给你们演示一下,立马就懂了 !
我们目前所学的 while 循环是一种条件循环,是不是都是我们给它判定条件,比如 a <10,是不是就是打印 9次,在第 10 次的时候结束,是需要满足条件判断才会终止的对吗 ?
而 for 就不一样了,假如说你想循环打印 9 次,只需要给 for 循环确定一个范围,像这样for a in range(1,10)就 ok 了,是不是看着非常的简单?
注意:这里 for a in range(1,10) 中的(1,10)表示从1开始 ,到10结束(说明10的时候不满足循环条件),所以不包含10!!!
直接上代码!
九变"我是最帅的"
#用代码打印九变"我是最帅的"
#while循环演示
a = 1
while a < 10:
print("我是最帅的")
a += 1
#for循环演示
for a in range (1,10):
print("我是最帅的")
是不是for循环看起来简单得多?
6、用for循环改进九九乘法表 
7、课后作业
完成课堂代码!两种方式实现九九乘法表
本文来自博客园,作者:wfxx,转载请注明原文链接:https://www.cnblogs.com/wufaxiang/articles/while_inner.html

浙公网安备 33010602011771号