第七章判断再判断之测试,测试,,


  判断再判断

  在前几章中,我们已经看到了程序的一些基本构成模块。现在可以利用输入、处理和输出建立一个程序了。我们甚至还可以通过使用GUI让输入和输出更有意思一些。我们可以把输入赋给一个变量,以便以后使用,还可以使用一些数学运算来进行处理。现在来看可以通过哪些方法对程序的工作进行控制。

  如果一个程序每次都做同样的事情,这会有些枯燥,而且用处不大,程序要能够决定接下来做什么。我们已经掌握了一些处理技术,下面再来补充另外一些决策(decision-making)技术。

  7.1测试,测试

  程序需要能够根据输入做不同的事情。下面给出几个例子:

  如果Tim给出的答案正确,就为他加1分

  如果Jane击中外星人,就发出爆炸声

  如果文件没找到,就显示错误消息

  决策时,程序要做出检查(完成一个测试),查看某个条件是否为真。在上面的第一个例子中,这个条件就是“答案正确”。

  Python完成测试的方法很有限,而且每个测试只有两个可能的答案:真(true)或者假(false)

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

  Python在测试时可能会问下面这些问题。

  这两个东西相等吗?

  其中一个是不是小于另一个?

  其中一个是不是大于另一个?

  不过等一下,刚才说过第一个例子的测试条件是“答案正确”,但是这不属于我们能做的测试,至少不能直接测试。这说明,我们需要用一种Python能理解的方式来描述测试。

  想要知道Tim的答案是否正确时,我们需要知道正确的答案是什么,还要知道Tim的答案。可以写成这种形式:

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

  如果Tim的答案是正确的,这两个变量就是相等的,所以条件(condition)为真(true)。如果他的答案不正确,这两个变量就不相等,条件则为假(false)。

  术语箱

  完成测试并根据结果做出判断称为分支(branching。)程序根据测试的结果来决定走哪条路,或者沿哪个分支执行。

  Python使用关键字if来测试条件,如下:

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

  术语箱

  代码块(block)是一行或放一起的多行代码。它们都与程序的某个部分相关(比如一个if语句)。在Python中,通过将块中的代码行缩进来构成代码块。

  if行末尾的冒号告诉Python下面将是一个指令块。这个块包括从前面的if行以下直到下一个不缩进的代码行之间的所有缩进代码行。

  术语箱

  缩进(indenting)是指一个代码行稍稍靠右一点。它不是从最左端开始,而是前面有一些空格,所以会从距左边界几个字符之后开始。

  如果条件为真,就会完成之后代码块中的所有工作。在前面的小例子,第2行和第3行构成了第1行中if的相应语句块。

  现在来讨论缩进和代码块。

评论关闭