<p>你的麻烦似乎在于翻译:</p>
<pre><code>print values from -startAngle to startAngle (startAngle included)
</code></pre>
<p>变成了Python。<code>range</code>可以轻松处理:</p>
^{pr2}$
<p>但是你似乎只需要10个值-这给出了<code>2*startAngle+1</code>值(<code>range(-a, a)</code>有2a个值,这还有一个值),并且放入示例代码将打印出这10次。在</p>
<p>一个正确选择的<code>step</code>参数可以保证它将给出<code>numvalues</code>元素-您希望步骤为未<code>step</code>范围内的值的数目除以所需的值的数目,因为<code>range</code>需要整数:</p>
<pre><code>print(list(range(-startAngle, startAngle+1, math.ceil((2*startangle+1)/numvalues))
</code></pre>
<p>因此,numvalues=10和startAngle=45可以得到:</p>
<pre><code>list(range(-45, 46, math.ceil((2*45+1)/10)))
[-45, -35, -25, -15, -5, 5, 15, 25, 35, 45]
</code></pre>
<p>请注意,我假设您使用的是python3。在Python 2中,可以执行以下操作:</p>
<pre><code>from __future__ import division
</code></pre>
<p>或者将<code>numvalues</code>设置为<code>10.</code>,执行<code>range(...)</code>而不是{<cd12>},并执行<code>int(ceil(...))</code>而不是{<cd14>}。在</p>
<hr/>
<p>另一种方法,如果需要处理float也可以正常工作,那就是使用<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html?highlight=linspace#numpy.linspace" rel="nofollow">numpy.linspace</a>-它接受一个<code>num</code>参数,而不是<code>step</code>,默认情况下包括它的端点-so</p>
<pre><code>numpy.linspace(-startAngle, startAngle, num=10)
</code></pre>
<p>会直接给你想要的。在</p>