擅长:python、mysql、java
<p>首先,不存在同时是浮点和集合的数据类型。此外,您希望将area函数直接传递到<code>SimAnneal</code>函数中,而不是像当前那样返回对它的调用:</p>
<pre class="lang-py prettyprint-override"><code>SimAnneal(x, area, T)
</code></pre>
<p>从设计的角度来看,将<code>area</code>函数保留为使用单个浮点作为参数会更有意义。这就是说,通过一个列表运行单个函数并用θ存储这些输出是相对简单的,θ是使用一种称为<a href="https://www.geeksforgeeks.org/python-dictionary-comprehension/" rel="nofollow noreferrer">Dictionary Comprehensions</a>的技术创建的。在下面的示例中<code>thetas</code>是要从中选择的θ的列表:</p>
<pre class="lang-py prettyprint-override"><code>areas = {i: area(i) for i in thetas}
</code></pre>
<p>然后,您可以在新词典中搜索产生最大面积的θ:</p>
<pre class="lang-py prettyprint-override"><code>max_theta = list(areas.keys())[0] # retrieve the first theta
for theta, area in areas.items():
if area > areas[theta]:
max_theta = theta
return theta
</code></pre>