擅长:python、mysql、java
<p>浮动不变。内置的数字类型都是不可变的。你观察到的原因是:</p>
<ol>
<li><code>print range[0]</code>在float上使用<code>str</code>,这(直到Python的最新版本)打印的浮点数更少。在</li>
<li>打印一个元组(无论是使用<code>repr</code>还是<code>str</code>)在单个项上使用<code>repr</code>,这样可以提供更准确的表示(同样,在最近的版本中,这不再是真的了,因为它们都使用了更好的算法)。在</li>
</ol>
<p>至于为什么条件没有按你期望的方式运行,很可能是常见的罪魁祸首,浮动精度有限。尝试<code>print repr(curVal), repr(range[0])</code>看看Python决定的是不是最接近于float文本的表示。在</p>