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、课后作业

完成课堂代码!两种方式实现九九乘法表

posted @ 2023-05-10 15:26  wfxx  阅读(322)  评论(0)    收藏  举报