擅长:python、mysql、java
<p>你能做的最简单的事情就是让函数返回转换温度的刻度,因为它已经基于给定的刻度。</p>
<p>它可以简单地返回一个元组,以目标标度作为第一个元素</p>
<pre><code>#!/usr/bin/env python3
def convert_temp(scale=None, source_temp=None):
if scale == "F":
return 'C', (source_temp - 32.0) * (5.0/9.0)
elif scale == "C":
return 'F', (source_temp * (9.0/5.0)) + 32.0
else:
print("Needs to be (F) or (C)!")
scale = input("Select (F) or (C): " )
source_temp = int(input("What is the temperature: " ))
s, m = convert_temp(scale, source_temp)
print(source_temp, "degrees", scale, "is", m, "degrees", s)
</code></pre>
<p>所以现在输出同时显示原始比例和转换后的比例:</p>
<pre><code>Select (F) or (C): F
What is the temperature: 92
92 degrees F is 33.333333333333336 degrees C
Select (F) or (C): C
What is the temperature: 33
33 degrees C is 91.4 degrees F
</code></pre>
<p>注意:如果给定的比例不受支持,函数将输出错误消息。它应该<code>raise</code>而不是异常。</p>
<p>注2:为什么不把输入的数字转换成浮点数呢?</p>