Python:正多边形的区域

问题描述 投票:0回答:1

我正在尝试计算“正多边形”的面积(正多边形意味着多边形的所有边都相同)。我创建了一个方法来做到这一点,然而,它似乎是“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边enter image description here的正多边形区域的公式

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

enter image description here

所以预期的结果应该是73.69017017488385,但我得到72.69017017488385。我认为这可能是操作的顺序或用户输入的处理方式,但它们似乎没问题。我不确定为什么它会被1点关闭。

python python-3.x math geometry
1个回答
5
投票

这是梁书中众所周知的错误。正确答案是72.69017017488385。作为旁注,请不要在函数中使用print()值。 return他们让呼叫者做印刷。

© www.soinside.com 2019 - 2024. All rights reserved.