我试图计算"正多边形的面积" (正多边形表示多边形的所有边都相同)。我创建了一个方法来做到这一点,然而,它似乎是由" 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点关闭。
答案 0 :(得分:5)
这是梁书中众所周知的错误。正确答案是 72.69017017488385 。作为旁注,请勿在函数中使用print()
值。 return
他们让呼叫者进行打印。