擅长:python、mysql、java
<p>在python2中,<code>5/9</code>使用底除法,因为两个操作数都是整数。通过使至少一个参数成为浮点来强制浮点除:</p>
<pre><code>result1 = (5.0 / 9.0) * (temp - 32)
</code></pre>
<p>摄氏度转换很可能不会受到这种影响,因为<code>(temp - 32) * 9</code>结果很可能已经是一个浮动,但最好在这里保持一致:</p>
<pre><code>result1 = (temp * 9.0 / 5.0) + 32
</code></pre>
<p>注意,这里需要使用正确的公式;在乘以五分之九后加上<code>+ 32</code>。在这里,两个公式都不需要将结果强制转换为<code>float()</code>;输出已经是一个浮点值。你知道吗</p>
<p>如果您使用的是使用python3的在线Python解释器,那么您的代码就可以工作,因为<code>/</code>运算符不是真正的除法运算(总是导致浮点值)。也可能是口译员有:</p>
<pre><code>from __future__ import division
</code></pre>
<p>将python2转换为python3行为的导入。你知道吗</p>
<p>最后的转换函数是:</p>
<pre><code>def result(kind, temp):
if kind == "c":
result1 = (temp * 9.0 / 5.0) + 32
return result1
else:
result1 = 5.0 / 9.0 * (temp - 32)
return result1
</code></pre>