Python:正多边形的区域

ran*_*891 1 python math geometry python-3.x

我正在尝试计算"正多边形"的面积(正多边形意味着多边形的所有边都相同).我创建了一个方法来做到这一点,然而,它似乎是"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)
Run Code Online (Sandbox Code Playgroud)

这是我用来找到给定1边的正多边形区域的公式 在此输入图像描述

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

在此输入图像描述

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

DYZ*_*DYZ 5

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

  • 这就是为什么有一位教授总是有帮助的原因! (3认同)
  • @ user202729是的,它是无关的 - 一旦你知道答案. (2认同)