我被要求在 python 中找到一個半圓的 5 個等距點。所以這是我寫的代碼,因為這對我來說在數學上是有意義的
import math
r=float(input())/2
op=[[round(r*math.cos(i*math.pi/180),2),round(r*math.sin(i*math.pi/180),2)] for i in range(36,181,36)]
print(op)
但是當我執行時,我的代碼未能通過測驗用例,因為教授給出的答案基于以下代碼。
import math
r=float(input())/2
op=[[round(r*math.cos(i*math.pi/4),2),round(r*math.sin(i*math.pi/4),2)] for i in range(5)]
print(op)
我似乎無法理解的是為什么他的范圍是 5 以及 i*pi/4 是如何作業的?我的范圍(36,181,36)的方式是錯誤的嗎?但它在數學上似乎是正確的。
下面是整個問題供參考。(我還沒有寫區域查找部分,因為我知道如何編碼它只是查找坐標的這一部分讓我感到困惑。)
手機網路塔A覆寫直徑為D米的圓形區域。另一個手機網路塔B覆寫了邊長為D米的方形區域。網路塔 B 的覆寫區域與塔 A 的網路覆寫區域重疊,使得正方形的一側與通過 0 到 π 弧度之間的 θ 方向的圓的直徑完全吻合。撰寫一個 Python 函式,用于回傳重疊網路覆寫區域的形狀區域。此外,該函式應回傳重疊圓邊界的五個等距坐標 (x, y)。使用 for 回圈和嵌套串列計算坐標。輸出應限制為兩個十進制值。
uj5u.com熱心網友回復:
為什么是 pi/4...弧度數學?因為我們知道我們的半圓是由 0-180 度或 0-pi 的 theta 角定義的。因為我們需要 5 個點......我們從 0 開始......python 計數 0、1、2、3、4。因此,在 i = 4 的最大角度處,計算出的角度必須是 pi...因此 pi/4。如果你愿意,可以很容易地代替學位數學。math.cos 和 math.sin 使用弧度數學,因此使用 pi/4 而不是 180/4。
你的范圍也不正確……因為它不滿足 0-pi 或 0-180 度的條件
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/312872.html
