Skip to main content
 首页 » 编程设计

Python:正多边形的面积

2025年05月04日23think

我正在尝试计算“正多边形”的面积(正多边形意味着多边形的所有边都相同)。我创建了一个方法来执行此操作,但是,它似乎偏离了“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) 

这是我用来计算给定 1 边的正多边形面积的公式

这是我应该得到的预期输出

所以预期结果应该是73.69017017488385,但我得到的是72.69017017488385。我认为这可能是操作顺序或用户输入的处理方式,但它们看起来还不错。我现在不确定为什么会差 1。

请您参考如下方法:

这是梁书上著名的错误。正确答案是 72.69017017488385。作为旁注,不要 print() 函数中的值。 返回它们并让调用者进行打印。