擅长:python、mysql、java
<p>似乎<a href="https://docs.python.org/3.6/library/bisect.html" rel="noreferrer">bisection</a>算法非常适合您的需要-始终对“投资”点进行排序和定义。创建带有参考点的数组,最好不要使用<code>if</code>的组合:</p>
<pre><code>>>> from bisect import bisect
>>> points_to_invest = [1, 2, 3, 4, 6, 8, 10, 13]
>>> bisect(points_to_invest, 1)
1
>>> bisect(points_to_invest, 4)
4
>>> bisect(points_to_invest, 5)
4
>>> bisect(points_to_invest, 6)
5
</code></pre>
<p>这种方法将为您将来提供更容易维护的方法</p>