根据我的书输入5和6.5到这个函数应该返回 73.6901. 但我还是得到了72.6901。我知道这个公式很完美,我无法想象它还能是什么。浮点是否存在一定程度的不精确性,可能导致这种逻辑错误?你知道吗
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()
正确答案是72.6901,你的书可能有错别字。你知道吗
浮点误差应该不会那么大。通常只有小数点后的许多小数位才重要。你知道吗
看起来是书中的错别字。我刚刚从mathwords中为同一事物转录了一个不同的公式:
我也得到72.690170。你知道吗
相关问题 更多 >
编程相关推荐