5:python第二章:语法基础4(适合小白看)

目录

5.1while循环的嵌套

5.2break与continue语句

5.2.1break语句

5.2.2continue语句

5.1while循环的嵌套

while循环在之前的文章也已经完成介绍,这里来说以下关于while循环的嵌套,这个嵌套的含义与for嵌套其实差不多,但是结构上还是又很大的差别的

while循环嵌套的基本结构:

 while 条件1:


        条件1满足时执行命令(当然可以写很多你想要python代码在这里所作的事情)


        while 条件2:

                          条件的时候,执行命令


   这里来举一个关于写出九九乘法表的代码

首先99乘法表有一定的格式,在这里有一个关于format格式的一种写法,在第二章的第一节就已经讲述了,所以并不在这里过多的赘述。

首先写代码一定有一个逻辑推理的过程,99乘法表首先有格式,是一张表格。其中所有的东西都满足(a)*(b)=(a*b)这样一种形式,所以我们首先可以写出我们需要打印出来这种格式的代码,这里显然使用format语句

print(f"{}*{}={}")

列出这个之后,我们要做的就是将这几个空格填满,首先来看一下等号前面的东西,很简单既然是99乘法表,那这两个数字一定是小于等于9的,所以就可以开始写关于while循环的代码了

i=1
while i <=9:
    j=1
    while j<=9:
        print(f"{i}*{j}={}")

这样子我的前面两个空填完了,那后面就是i*j。

i=1
while i <=9:
    j=1
    while j<=9:
        print(f"{i}*{j}={i*j}")
        j+=1
    i+=1

这里别忘记了最后的两步,在相应的代码块的最后加上关于j+=1与i+=1 不然真个代码会一直循环1*1=1

打印出来是

突然发现,这个好像不是我们所熟悉的99乘法表,99乘法表是一张表格,这个一列显然不满足我们的要求,所以这里要知道一个命令叫做end=“”,这个的含义就是结束的时候是按照横排进行打印,所以推到这里感觉差不多了,我们来实践一下

i=1
while i <=9:
    j=1
    while j<=9:
        print(f"{i}*{j}={i*j}",end=" ")
        j+=1
    i+=1

打印出来的结果是

显然这个代码比之前的要好一点,但是依旧不满足我们的要求,这里还需要继续修改代码,继续的找到问题的所在并且一步一步推下去。

这里通过观察就能发现这里有两个问题,第一个没有分行,第二个有很多的重复

首先解决第一个

python的分行使用\n

i=1
while i <=9:
    j=1
    while j<=9:
        print(f"{i}*{j}={i*j}",end=" ")
        j+=1
    print("\n")
    i+=1

为什么写在这里呢,你可以想一下关于i=1,j=1的时候,完成了其他的打印命令,按照了format语句与end命令打印出来,然后在里面那个while循环结束后,就会产生1*1,1*2,1*3,1*4,1*5,1*6……之后完成了j的循环之后,我需要分行,分行完成后,i=2,继续这样子的循环

其实说到底很简单,就是先确定i是什么,然后j用1--9来进行相乘。接着i=2,j用1--9来相乘,所以当然应该在i改变之前换行一下。

但是这没有解决第二个问题,重复,这里有很多重复的东西,并不满足我们小学的时候看到的没有重复的表格。这个重复是我们的初步逻辑所诞生出来的产物。

初步逻辑认为i等于一个数,然后使用j等于1--9这几个数字进行相乘从而得出的表格,但是这样子的初步逻辑会导致重复,所以需要小小的改一下初步的逻辑。基本的逻辑是不用改变的i等于一个数,然后使用j去乘,那我们得找一下规律,因为我们不能使用9这么简单的数字来定义j的范围。

1*1=1

1*2=2  2*2=4 

我们需要定义以下j的范围,所以可以找以下j的规律,其实很简单就是从1--i,那么我改变j的范围就行

i=1
while i <=9:
    j=1
    while j<=i:
        print(f"{i}*{j}={i*j}",end=" ")
        j+=1
    print("\n")
    i+=1

打印出来,这个就完成了

5.2break与continue语句

5.2.1break语句

break语句,在python编程中的含义是可以让这个编程瞬间停止,即使他还有循环没有完成。

看一个例子就能理解这个break语句了

n = 10
while n > 0:
    n -= 1
    if n == 5:
        break
    else:
        print(n)
print('循环结束')

在这个例子中使用了while与if嵌套,先来看一下代码,首先n=10,接着来到了while循环,这里得判断以下是不是满足while循环的条件,看出n大于零,所以进入while循环,这里n-=1的含义其实与n+=1的含义是相同的,就是n(新的值)=n(原来的值)-1,这里的n就变成了9。接着看看能不能进入if条件语句,看来是不行,9大于5,所以只能取if条件的另外一面(else)了,所以就打印出来(n=9)。这个时候因为进入了while循环,python代码将会从头又来一遍。这个时候n=9,在过一遍代码n=8同样不满足if条件语句的条件,所以到else这边去打印出来,以此类推 到n=5的时候满足了if的条件,所以进入if这个代码块之中,并且使用了break语句,所以while循环将不回进行直接跳出整个while循环,进入最后一个print指令,打印出循环结束这个语句。看一下最终是不是这样的

所以break语句的作用是可以直接使循环停止。也就是说跳出循环然后继续之后的代码

5.2.2continue语句

n = 10
while n > 0:
    n -= 1
    if n == 5:
        continue
    else:
        print(n)
print('循环结束')

这里将使用同样的例子来解释以下continue语句的含义

之前的步骤我也不多说了,这个不一样的地方在if 代码块之下的break换成了continue。所以我直接从n=5开始,n=5 满足if的条件,所以进入代码块,执行了continue语句,这里的continue语句将会跳过5这个循环,并且继续这个循环。也就是说我最后打印出来的没有5,但是其他12346789都是包括的,当然还有最后的循环结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值