用三角形三边求面积周长Python
时间: 2024-09-26 10:04:58 浏览: 35
在Python中,我们可以使用海伦公式(Heron's formula)来计算给定三角形三边长度的面积,以及直接相加三边长度得到周长。以下是代码示例:
```python
import math
def calculate_triangle_properties(a, b, c):
# 检查输入是否满足构成三角形的条件
if a + b > c and a + c > b and b + c > a:
# 计算半周长(s)
s = (a + b + c) / 2
# 根据海伦公式计算面积
area = math.sqrt(s * (s - a) * (s - b) * (s - c))
# 三边直接相加即得周长
perimeter = a + b + c
return {'area': area, 'perimeter': perimeter}
else:
return "These sides do not form a valid triangle."
# 示例:给定三角形的三条边
side_a = 3
side_b = 4
side_c = 5
result = calculate_triangle_properties(side_a, side_b, side_c)
print(f"面积: {result['area']}, 周长: {result['perimeter']}")
#
相关问题
已知三角形的三边,用python求三角形面积和周长
在Python中,我们可以使用海伦公式(Heron's formula)来计算三角形的面积,如果已知三边a、b、c的话。首先,需要验证这三条边是否能构成有效的三角形,即满足任意两边之和大于第三边的原则。然后,可以按照以下步骤计算:
1. 计算半周长(p):\( p = \frac{a + b + c}{2} \)
2. 使用海伦公式计算面积(A):\( A = \sqrt{p \times (p - a) \times (p - b) \times (p - c)} \)
对于周长(L),直接将三边相加即可:\( L = a + b + c \)
以下是完整的Python函数实现:
```python
import math
def calculate_triangle(a, b, c):
# 验证是否能组成三角形
if a + b > c and a + c > b and b + c > a:
# 计算半周长
p = (a + b + c) / 2
# 计算面积
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
# 计算周长
perimeter = a + b + c
return {"area": area, "perimeter": perimeter}
else:
return "Invalid triangle sides."
# 示例使用
sides = [3, 4, 5]
result = calculate_triangle(*sides)
print(f"Area: {result['area']}, Perimeter: {result['perimeter']}")
```
如果你有具体的边长想要计算,只需要替换`sides`变量中的值即可。
定义一个三角形类Triangle,属性是三边的长度,求三角形的面积和周长。python
可以使用以下代码来定义一个三角形类Triangle,并实现求解面积和周长的方法:
```python
import math
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def perimeter(self):
return self.a + self.b + self.c
def area(self):
p = self.perimeter() / 2
return math.sqrt(p * (p - self.a) * (p - self.b) * (p - self.c))
```
在上面的代码中,我们定义了一个Triangle类,它有三个属性a、b、c,分别代表三角形的三条边长。我们还定义了两个方法,perimeter()用于计算三角形的周长,area()用于计算三角形的面积。计算面积时使用了海伦公式。
下面是一个使用Triangle类的例子:
```python
t = Triangle(3, 4, 5)
print("三角形的周长为:", t.perimeter())
print("三角形的面积为:", t.area())
```
输出结果为:
```
三角形的周长为: 12
三角形的面积为: 6.0
```
阅读全文