我正在尝试计算“正多边形”的面积(正多边形意味着多边形的所有边都相同)。我创建了一个方法来执行此操作,但是,它似乎偏离了“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() 函数中的值。 返回它们并让调用者进行打印。
