擅长:python、mysql、java
<p>它给出了正确的答案。看看你举的例子;看起来错误的坐标是y坐标,在180度转弯时应为0:</p>
<pre><code>6.123233995736766e-16
</code></pre>
<p>那<code>e-16</code>是“乘以10的-16次方”的科学记数法。所以,这个数字等于<code>.00000000000000006123233...</code></p>
<p>为什么不完全返回0?因为Python处理浮动的特性</p>
<p>如果不需要那么高的精度,可以通过重写函数以使用<code>round</code>来获得更可读的结果,如下所示:</p>
<pre><code>def coords_from_degree(line, angle):
a = math.radians(angle)
return (round(math.cos(a)*r, 4),
round(math.sin(a)*r, 4)
)
</code></pre>