擅长:python、mysql、java
<p>如果参数'Names'为None或空,或者<code>if (TotalProfit > HighestStock)</code>条件为false。。。在</p>
<pre><code>print("Highest selling stock is", HighestStockName, "with a ", HighestStock, "profit margin.")
</code></pre>
<p>将引发UnboundLocalError,因为HighestStockName在for循环的if块中被赋值。在</p>
<p>也许可以尝试初始化<code>HighestStock = 0</code>下面的值'HighestStockName'。。。在</p>
^{pr2}$
<p>或者只需捕获UnboundLocalError异常并从中找出要做的事情。。。在</p>
<pre><code>def GetSale(Names, Prices, Exposure):
HighestStock = 0
for Stock in Names:
TotalProfit = ((Prices[Stock][1] - Prices[Stock][0]) - Exposure[Stock][1] * Prices[Stock][0]) * Exposure[Stock][0]
if (TotalProfit > HighestStock):
HighestStock = TotalProfit
HighestStockName = Stock
try:
print("Highest selling stock is", HighestStockName, "with a ", HighestStock, "profit margin.")
except UnboundLocalError, e:
# Do something after catching the exception
</code></pre>