7.1 重新赋值(Reassignment)

在 Python 中,用等号 = 进行变量赋值,但是变量赋值语句,比如 a = 3,与数学意义上的等式不是等价的。

7.2 更新变量(Updating variables)

7.3 while 语句(The while statement)

7.4 break 语句(break

7.5 平方根(Square roots)

在 Python 中,判断浮点数相等是一件危险的事。大部分合理的数字(例如:\(1 / 3\))只是近似相等,而像 \(\sqrt{2}\) 这样不合理的数字无法用浮点数正确的表示。因此,不建议检查两个变量 xy 是否相等,更安全的做法是使用内建函数 abs 去计算两个变量差值的绝对值(或者大小)。

if abs(y - x) < epsilon:
break

其中,epsilon 决定了两个变量多接近就足够了,可以取类似 \(0.0000001\) 这样的值。

7.6 算法(Algorithms)

算法的特点之一就是执行过程不需要任何的“智慧”,是一种机械化的过程。每一步的执行都是由上一步根据一些简单的规则确定的。

7.7 调试(Debugging)

减少调试时间的一种方式就是使用“折半调试”(debugging by bisection)。但是在实际中,并不总是能清晰地找出程序的“中点”,并且也没有意义去计算行数,然后找出程序的“中点”。相反,应该多思考程序可能出现错误的地方,以及哪些地方容易进行检查。然后选择一个点,在这个点之前或者之后 bug 出现的可能性一致。

04-30 13:09