擅长:python、mysql、java
<p>如果您使用python2,<code>/</code>执行整数除法(也就是说,它去掉余数,只给出<em>向下取整的结果),除非至少有一个操作数是<code>float</code>而不是{<cd3>}类型。通过与<code>1.0</code>相乘来修复此问题,但也可以对其中一个操作数调用<code>float(...)</code>。这与C++类似,但是C++中,结果是“0”,而不是<EM>>EME>,意味着你将得到不同的结果,其中一个负操作数:</P>
<p/>
<H3> C++:<EH3>
<pre><code>1 / 2 // gives 0
(-1) / 2 // also gives 0
</code></pre>
<p/>
<h3>Python 2:</h3>
^{pr2}$
<h3>Python 3:</h3>
<p>在Python3上,<code>/</code>总是执行正确的浮点除法,这意味着您总是得到一个<code>float</code>的返回,您可以使用<code>//</code>来恢复旧的行为</p>
<pre class="lang-py prettyprint-override"><code>1 / 2 # gives 0.5
(-1) / 2 # gives -0.5
1 // 2 # gives 0
(-1) // 2 # gives -1
</code></pre>
<h3>编辑后添加:</h3>
<p>由于您使用的是Python2.7(请参阅编辑后的问题),因此它似乎确实是您所坚持的整数除法。要在python2中获得新的python3风格的行为,还可以运行</p>
<pre><code>from __future__ import division
</code></pre>
<p>在程序的<strong>开始处</strong>(必须在最开始,否则口译员会抱怨)</p>
<h3>关于<code>int(something)</code></h3>
<P>谨防整数除法< EM >向下EEE>,转换为整数圆<EM >零<EEM >,如C++中的整数除法。在</p>