擅长:python、mysql、java
<p>这里不需要<code>while</code>循环。您可以使用<code>for</code>循环来完成,因为您要遍历多边形的所有顶点:</p>
<pre><code>sum = 0
for i in xrange(len(xCoords) - 1):
sum += np.sqrt((xCoords[i] - xCoords[i + 1]) ** 2) + (yCoords[i] -yCoords[i + 1]) ** 2))
sum+=np.sqrt((xCoords[0] - xCoords[-1]) ** 2) + (yCoords[0] -yCoords[-1]) ** 2))
</code></pre>
<p>如果您坚持使用<code>while</code>循环执行此操作,您可以这样做:</p>
<pre><code>sum = 0
i = 0
while (i < len(xCoords) - 1):
sum += np.sqrt((xCoords[i] - xCoords[i + 1]) ** 2) + (yCoords[i] -yCoords[i + 1]) ** 2))
i += 1
sum+=np.sqrt((xCoords[0] - xCoords[-1]) ** 2) + (yCoords[0] -yCoords[-1]) ** 2))
</code></pre>