贵阳市网站建设_网站建设公司_UI设计师_seo优化
2026/1/16 6:11:31 网站建设 项目流程

Python3 计算三角形的面积

方法 1:已知底和高计算面积

 
这是最简单的方法,核心公式为:面积 = (底 × 高) / 2
 
以下是带输入验证的完整代码:
def calculate_area_by_base_height():"""根据底和高计算三角形面积"""try:# 获取用户输入并转换为浮点数base = float(input("请输入三角形的底(数值):"))height = float(input("请输入三角形的高(数值):"))# 验证输入的数值是否为正数if base <= 0 or height <= 0:print("错误:底和高必须是大于0的数值!")return# 计算面积area = (base * height) / 2print(f"三角形的面积为:{area:.2f}")  # 保留2位小数输出except ValueError:# 处理非数字输入的异常print("错误:请输入有效的数字(如 5、8.5 等)!")# 调用函数执行计算
calculate_area_by_base_height()
 
 

方法 2:已知三边长度(海伦公式)

 
若只知道三边长度,使用海伦公式:
 
  1. 先计算半周长 s = (a + b + c) / 2
  2. 面积 = √[s (s-a)(s-b)(s-c)]
     
    需先验证三边是否能构成三角形(任意两边之和大于第三边)。 
import math  # 导入数学库,用于计算平方根def calculate_area_by_sides():"""根据三边长度(海伦公式)计算三角形面积"""try:# 获取三边长度并转换为浮点数a = float(input("请输入三角形第一条边的长度:"))b = float(input("请输入三角形第二条边的长度:"))c = float(input("请输入三角形第三条边的长度:"))# 验证边长是否为正数if a <= 0 or b <= 0 or c <= 0:print("错误:边长必须是大于0的数值!")return# 验证是否能构成三角形if (a + b <= c) or (a + c <= b) or (b + c <= a):print("错误:这三个长度无法构成三角形(任意两边之和需大于第三边)!")return# 海伦公式计算s = (a + b + c) / 2  # 半周长area = math.sqrt(s * (s - a) * (s - b) * (s - c))print(f"三角形的面积为:{area:.2f}")  # 保留2位小数输出except ValueError:print("错误:请输入有效的数字(如 3、4.5 等)!")# 调用函数执行计算
calculate_area_by_sides()
 

代码关键解释

 
  1. 异常处理try-except 块捕获用户输入非数字的情况,避免程序崩溃;
  2. 输入验证:检查数值是否为正数、三边是否符合三角形构成条件,保证计算逻辑的合法性;
  3. 精度控制:用 :.2f 格式化输出,让结果更易读;
  4. 海伦公式依赖:通过 math.sqrt() 计算平方根,需先导入 math 库。
 

测试用例

 
  • 方法 1:输入底 = 10,高 = 5 → 输出面积 = 25.00;
  • 方法 2:输入三边 = 3、4、5 → 输出面积 = 6.00。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询