You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python正则多边形面积计算结果偏差1的问题求助

正多边形面积计算结果始终比预期小1的排查方案

首先,你的代码里使用的正多边形面积公式是完全正确的:
area = (n_sides * (length ** 2)) / (4 * math.tan(math.pi / n_sides))
这个公式是已知边长求正多边形面积的标准公式,运算顺序和参数处理也没有问题。

出现结果始终比预期小1的情况,大概率不是代码逻辑的问题,更可能是以下几个原因:

  • 输入值与预期计算的数值不一致:比如你计算预期值时用的是边数10、边长4,但实际运行代码时输入的是边数9、边长4,或者输入边长时误操作导致数值偏差(不过这种情况通常不会刚好差整数1)。建议在代码里添加输入值的打印语句,确认实际传入函数的参数是否正确:

    import math
    if __name__=="__main__":
        num_sides = int(input("Enter the number of sides: "))
        side_length = float(input("Enter the side: "))
        # 新增打印输入值的代码,确认参数是否正确
        print(f"Received input: sides={num_sides}, length={side_length}")
        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,建议你用计算器手动代入实际输入的参数重新计算一次,确认预期值是否正确。比如如果输入的是边数7、边长5,代入公式得到的结果是(7*25)/(4*tan(π/7)) ≈ 175/(4*0.4816) ≈ 90.84,和你提到的数值不符,说明可能是预期值的计算前提和实际输入不匹配。

  • 混淆了面积与其他参数:比如误把周长加1的结果当成了面积预期值,或者参考的工具/资料本身存在计算错误。

你可以先按照上面的方法排查输入值和预期值的正确性,应该就能找到问题所在。

内容的提问来源于stack exchange,提问作者random_user_0891

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:43:15