[TOC]
在 Python 中,用等号 =
进行变量赋值,但是变量赋值语句,比如 a = 3
,与数学意义上的等式不是等价的。
无
while
语句(The while
statement)无
break
语句(break
)无
在 Python 中,判断浮点数相等是一件危险的事。大部分合理的数字(例如:\(1 / 3\))只是近似相等,而像 \(\sqrt{2}\) 这样不合理的数字无法用浮点数正确的表示。因此,不建议检查两个变量 x
和 y
是否相等,更安全的做法是使用内建函数 abs
去计算两个变量差值的绝对值(或者大小)。
if abs(y - x) < epsilon:
break
其中,epsilon
决定了两个变量多接近就足够了,可以取类似 \(0.0000001\) 这样的值。
算法的特点之一就是执行过程不需要任何的“智慧”,是一种机械化的过程。每一步的执行都是由上一步根据一些简单的规则确定的。
减少调试时间的一种方式就是使用“折半调试”(debugging by bisection)。但是在实际中,并不总是能清晰地找出程序的“中点”,并且也没有意义去计算行数,然后找出程序的“中点”。相反,应该多思考程序可能出现错误的地方,以及哪些地方容易进行检查。然后选择一个点,在这个点之前或者之后 bug 出现的可能性一致。
原文:https://www.cnblogs.com/xugenpeng/p/9129234.html