[英]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)
这是我应该得到的预期输出
因此,预期结果应为73 .69017017488385,但我得到72 .69017017488385。 我认为这可能是操作的顺序,也可能是用户输入的处理方式,但似乎还可以。 我现在还不确定为什么会以1。
在梁的书中,这是一个众所周知的错误。 正确的答案是72.69017017488385 。 注意,请勿在函数中print()
值。 return
给他们,让呼叫者进行打印。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.