擅长:python、mysql、java
<p>如果您决定将温度表示为浮点数,则代码通常无法工作。为确保代码适用于非整数温度(以防万一),请将范围表示为最小-最大值对,并使用显式比较:</p>
<pre><code>temps = {
'FREEZING' : (-20, 0),
'very cold' : (0, 6),
....
}
for word, values in temps.items():
if values[0] <= temp < values[1]:
return word
</code></pre>
<p>您也可以使用元组列表,因为您不使用特定于词典的功能:</p>
<pre><code>temps = [
('FREEZING', -20, 0),
('very cold', 0, 6),
....
]
for word, value1, value2 in temps:
if value1 <= temp < values2:
return word
</code></pre>
<p>最后,为了保持一致性,您可以只定义范围上限边界(同时也是下一个范围的下限边界):</p>
<pre><code>temps = [
('FREEZING', 0),
('very cold', 6),
....
('extremely dangerously hot': float('inf'))
]
for word, value in temps:
if temp < value:
return word
</code></pre>