第八章之跳出循环--break和continue,,


  跳出循环--break和continue

  有时可能希望在中间离开循环,也就是for循环结束计数之前,或者while循环找到结束条件之前,有两种方法来做到:可以用continue直接跳到循环的下一次迭代。或者用break完全中止循环,下面会更详细地说明。

  提前跳转-continre

  如果希望停止执行循环的当前迭代,提前跳到下一次迭代,你需要的就是一条continue语句,要说明这一点,最好的办法就是看一个例子,请看代码清单8-9.

  与孩子一起学编程-python教程与孩子一起学编程-python教程

  运行这个程序时,输出如下:

  与孩子一起学编程-python教程

  注意,这3次循环时(i==3),循环体没有完成,它提前跳到了下一次迭代(i==4).这就是continue语句在起作用。在while循环中,continue的作用也是一样的。

  跳出--break

  如果我们想完全跳出循环--不再完成计数,或者放弃等待结束条件 ,该怎么做呢?这个工作由break语句完成。

  下面只改变代码清单8-9中的第6行,把continue换成break,再运行这个程序看看会发生什么。

  与孩子一起学编程-python教程

  这一次,循环不只是跳过第3次迭代的其余部分,它会完全停止循环,这正是braek的作用。在while循环中,break的作用也是一样。

  要指出的是,有些人认为使用break和continue并不好。就我个人来讲,我不认为这样不好,不过我自己确实很少使用这两个语句,我想还是应该告诉你一些关于break和continue的内容,没准以后你会用到。

  你学到了什么

  在这一章,你学到了以下内容。

  for循环(也称为计数循环)

  range()函数--计数循环的一个捷径

  range()的不同步长大小

  while循环(也称为条件循环)

  用continue跳到下一次迭代

  用break跳出循环

  测试题

  1、下面的循环会运行多少次?

  与孩子一起学编程-python教程

  2、下面的循环会运行多少次?每次循环时i的值是什么?

  与孩子一起学编程-python教程

  3、range(1,8)会给出一个怎样的数字列表?

  4、range(8)会给出一个怎样的数字列表?

  5、range(2,9,2)会给出一个怎样的数字列表?

  6、range(10,0,-2)会给出一个怎样的数字列表?

  7、使用哪个关键字停止循环的当前迭代,提前跳到下一次迭代?

  8、while循环什么时候结束?

  动手试一试

  1、编写一个程序,显示一个乘法,开始时要询问用户显示哪个数的乘法表。输出应该如下所示:

  与孩子一起学编程-python教程与孩子一起学编程-python教程

  2、完成第1题的程序时你可能使用了for循环。大多数人都会这么做,不过,可以再做这个练习,试着用while循环完成同样的工作,或者如果你在第1题中使用了while循环,再在可以试着用for循环来完成。

  3、向乘法表中再加点东西,询问用户想要的乘法表之后,再问问用户希望最大乘到几。输出应当如下所示:

  与孩子一起学编程-python教程

  可以用for循环或者while循环来版本来完成,或者两种做法都试试看。

评论关闭