第2章
测试题
1. 可以在变量两边加上引号来告诉 Python 这个变量是一个字符串。
2. 这个问题就是:“可以改变赋给一个变量的值吗?”这要看你所说的“改变”是什么意思。如果有:
myAge = 10
就可以这样做:
myAge = 11
这样就改变了赋给 myAge 的内容。你把 myAge 标签移到了一个不同的东西上(从 10 移到了 11 上)。不过你并没有真正把 10 变成 11。所以更正确的说法应当是:你可以“把变量名重新指派到一个不同的值上”或者“为变量指定一个新的值”,而不是“改变变量的值”。
3. 不,TEACHER 与 TEACHEr 不同。因为变量名是区分大小写的,最后一个字母不同,所以这两个变量名也不同。
4. 对,'Blah' 和 "Blah" 是一样的。它们都是字符串,在这里,Python 并不关心使用的是单引号还是双引号,只要字符串左边的开始引号与右边的结束引号匹配就行。
5. 不,'4' 与 4 不同。第一个('4')是字符串(尽管这个字符串里只有一个字符),因为它两边加了引号。第二个(4)则是一个数。
6. 答案是 b。2Teacher 不是一个正确的变量名。Python 中的变量名不能以数字开头。
7. "10" 是一个字符串,因为它两边有引号。
动手试一试
1. 在交互模式中,可以这样做:
>>> temperature = 25
>>> print temperature25
2. 可以这样做
>>> temperature = 40
>>> print temperature40
或者这样做:
>>> temperature = temperature + 15
>>> print temperature40
3. 可以这样做:
>>> firstName = "Fred"
>>> print firstNameFred
4. 如果使用变量,你的“每周有多少分钟”程序应该类似下面的代码:
>>> DaysPerWeek = 7
>>> HoursPerDay = 24>>> MinutesPerHour = 60>>> print DaysPerWeek * HoursPerDay * MinutesPerHour10080
5. 要看如果一天有 26 小时会有什么结果,可以这样做:
>>> HoursPerDay = 26
>>> print DaysPerWeek * HoursPerDay * MinutesPerHour10920
7.1 测试,测试
程序需要能够根据输入做不同的事情。下面给出几个例子:
如果 Tim 给出的答案正确,就为他加 1 分;
如果 Jane 击中外星人,就发出爆炸声;
如果文件没找到,就显示错误消息。
决策时,程序要做出检查(完成一个测试),查看某个条件是否为真。在上面的第一个例子中,这个条件就是“答案正确”。
Python 完成测试的方法很有限,而且每个测试只有两个可能的答案:真(true)或者假(false)。
Python 在测试时可能会问下面这些问题。
这两个东西相等吗?
其中一个是不是小于另一个?
其中一个是不是大于另一个?
不过等一下,刚才说过第一个例子的测试条件是“答案正确”,但是这不属于我们能做的测试,至少不能直接测试。这说明,我们需要用一种 Python 能理解的方式来描述测试。
想要知道 Tim 的答案是否正确时,我们需要知道正确的答案是什么,还要知道 Tim 的答案。可以写成这种形式:
如果 Tim 的答案是正确的,这两个变量就是相等的,所以条件(condition)为真(true)。如果他的答案不正确,这两个变量就不相等,条件则为假(false)。
术语箱
完成测试并根据结果做出判断称为分支(branching)。程序根据测试的结果来决定走哪条路,或者沿哪个分支执行。
Python 使用关键字 if 来测试条件,如下:
术语箱
代码块(block)是一行或放在一起的多行代码。它们都与程序的某个部分相关(比如一个 if 语句)。在 Python 中,通过将块中的代码行缩进来构成代码块。