[英]Python: area of a regular polygon
我正在嘗試計算“規則多邊形”的面積(規則多邊形表示多邊形的所有邊都相同)。 我創建了一個方法來執行此操作,但是它似乎被“ 1”關閉了,我似乎無法弄清原因。
import math
if __name__=="__main__":
num_sides = int(input("Enter the number of sides: "))
side_length = float(input("Enter the side: "))
def polygon_area(n_sides, length):
area = (n_sides * (length ** 2)) / (4 * math.tan((math.pi) / n_sides))
print(area)
polygon_area(num_sides, side_length)
這是我應該得到的預期輸出
因此,預期結果應為73 .69017017488385,但我得到72 .69017017488385。 我認為這可能是操作的順序,也可能是用戶輸入的處理方式,但似乎還可以。 我現在還不確定為什么會以1。
在梁的書中,這是一個眾所周知的錯誤。 正確的答案是72.69017017488385 。 注意,請勿在函數中print()
值。 return
給他們,讓呼叫者進行打印。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.