<p>Python的<a href="https://docs.python.org/3/library/functions.html#func-range" rel="nofollow noreferrer">range</a>函数以1的值递增。<code>range</code>中的第一个参数是<code>start</code>,第二个是<code>stop</code>,第三个<em>(可选)</em>参数是<code>step</code>,这是它的增量。你有两个选择。你知道吗</p>
<p><strong>从较低的数字开始,到较高的数字停止</strong>:</p>
<pre><code>if int(windChill) in range(-24, -1):
</code></pre>
<p><strong>或者保留你所拥有的,但告诉<code>range</code>以-1递增</strong>:</p>
<pre><code>if int(windChill) in range(-1, -24, -1):
</code></pre>
<p>以上两种方法将为您实现相同的结果,不过仅供参考,如果您对它们运行<code>list()</code>,它们都将导致彼此的反向列表</p>
<pre><code>print(list(range(-24, -1)))
#[-24, -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2]
print(list(range(-1, -24, -1)))
#[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23]
</code></pre>
<p><strong>编辑</p>
<p>如果挖掘得更深,则使用以下公式确定范围:</p>
<blockquote>
<p>For a positive step, the contents of a range <code>r</code> are determined by the
formula <code>r[i] = start + step*i</code> where <code>i >= 0</code> and <code>r[i] < stop</code>.</p>
<p>For a negative step, the contents of the range are still determined by
the formula <code>r[i] = start + step*i</code>, but the constraints are <code>i >= 0</code> and
<code>r[i] > stop</code>.</p>
<p><a href="https://docs.python.org/3/library/stdtypes.html#typesseq-range" rel="nofollow noreferrer">Reference</a></p>
</blockquote>
<p>所以本质上,<code>range</code>实际上排除了我的示例中的stop值<em>(分别是<code>-1</code>和<code>-24</code>)</em>,所以一定要考虑到这一点。使用</p>
<pre><code>if int(windChill) in range(-24, 0):
#or
if int(windChill) in range(-1, -25, -1):
</code></pre>