第八章之按步长计数,,


  按步长计数

  到目前为止,我们的计数循环都是每次迭代时计数增1.如果希望循环按步长为2来计数该怎么做?或者步长为5呢?或者10呢,还有,如果想反向计数,又该怎么做呢?

  range()函数可以有一个额外的参数,利用这个参数可以把步长从默认的1改为不同的值。

  术语箱

  参数(argument)就是使用类似range()的函数时放在括号里的值。我们说,向函数传入了参数,有时也用形参(parameter)这个,如传递形参。我们将在第13章了解更多关于函数、参数、和形参的内容。

  我们想在交互模式中尝试几个循环。键入第一行时,由于末尾有冒号,IDLE会自动为你缩进一行,因为它知道for循环后面需要有一个代码块,完成这个代码块后,按两次回车键,试试看:

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

  这里向range()函数增加了第3个参数2.现在循环按步长2计数。再来试一个:

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

  这是按步长5来循环的,反向计数呢?

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

  range()函数中的第3个参数是负数时,循环会身下计数,而不是向上计数。应该记得,循环会从一个数开始,向上(或向下)直到(但不包括)第二个数,所以在最后一个例子中,我们只向下计数到2,而不是1.

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

  可以利用这一点来建立 一个倒计时的定时器程序,只需要再增加两行代码。在IDLE中打开一个新的编辑器窗口,键入代码清单8-6中的程序。试着运行这个程序。

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

  先不用担心这个程序里还没有讲到的内容,比如说import、time和sleep。所有这些内容都会在后面的章节中讲清楚,你只需要试着运行代码清单8-6中的程序,看看它是怎么工作的。这里的关键是range(10,0,-1)部分,它会让循环从10反身计数到1.

评论关闭