Python:正多边形的区域

时间:2018-01-21 04:27:17

标签: python python-3.x math geometry

我试图计算"正多边形的面积" (正多边形表示多边形的所有边都相同)。我创建了一个方法来做到这一点,然而,它似乎是由" 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)

这里是公式I用于找到给定1边的正多边形的区域 enter image description here

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

enter image description here

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

1 个答案:

答案 0 :(得分:5)

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