擅长:python、mysql、java
<p>NumPy让这变得简单。你知道吗</p>
<pre><code>import numpy as np
def fill(orders, startingvolume):
orders = np.asarray(orders)
return orders[orders.cumsum() <= startingvolume]
</code></pre>
<p>根据您的示例输入,将返回:</p>
<pre><code>array([ 39.789032 , 36.023618 , 3.0539913, 20. ])
</code></pre>
<p>这些都是你完成的订单。要获取剩余的一个部分已填充:</p>
<pre><code>orders[orders.cumsum() >= startingvolume][0]
</code></pre>