繁体   English   中英

Python:正多边形的面积

[英]Python: area of a regular polygon

我正在尝试计算“规则多边形”的面积(规则多边形表示多边形的所有边都相同)。 我创建了一个方法来执行此操作,但是它似乎被“ 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()值。 return给他们,让呼叫者进行打印。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM