ran*_*891 1 python math geometry python-3.x
我正在尝试计算"正多边形"的面积(正多边形意味着多边形的所有边都相同).我创建了一个方法来做到这一点,然而,它似乎是"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)
Run Code Online (Sandbox Code Playgroud)
这是我应该得到的预期输出
因此,预期的结果应该是73 0.69017017488385,但我得到72 0.69017017488385.我认为这可能是操作的顺序或用户输入的处理方式,但它们似乎没问题.我不确定为什么它会被1点关闭.
这是梁书中众所周知的错误.正确答案是72.69017017488385.作为旁注,请勿print()在函数中使用值.return他们让呼叫者进行打印.