import math
def area(n, side):
area= (n * (side * side))/(
4 * math.tan(math.pi/n))
return area
def main():
sideNumber = int(input("Enter the number of sides :"))
sideLength = float(input("Enter the side: "))
print("The area of the polygon is %f" %(area(sideNumber, sideLength)))
if __name__ == "__main__":
main()
答案 0 :(得分:5)
看起来这是书中的拼写错误。我刚从mathwords转录了同一个不同的公式:
def area2(n, side):
r = 0.5 * side * (math.cos(math.pi / n) / math.sin(math.pi / n))
return n * r * r * math.tan(math.pi / n)
我也得到72.690170。
答案 1 :(得分:0)
正确答案是72.6901,你的书可能有拼写错误。
浮点不准确不应该那么大。通常它只会在点之后的许多小数位上起作用。