python定义一个三角形类(命名为 Triangle),利用三条边的长度对类进行初始化,注意检测三条边 是否能构成三角形,实现函数根据三角形的三边长求周长和面积。由类创建三个对象:三边 长分别 23-22-33 和 23-2-3 以及自己定义的三角形,要求输出各自的周长和面积。
时间: 2024-05-15 13:17:41 浏览: 116
好的,我明白了你的要求。下面是 Python 实现的代码:
```python
class Triangle:
def __init__(self, a, b, c):
"""
用三条边的长度对类进行初始化。
检测三条边是否能构成三角形。
"""
if a + b > c and a + c > b and b + c > a:
self.a = a
self.b = b
self.c = c
else:
raise ValueError("这三条边不能构成三角形!")
def perimeter(self):
"""计算三角形的周长"""
return self.a + self.b + self.c
def area(self):
"""计算三角形的面积"""
p = (self.a + self.b + self.c) / 2
return (p * (p - self.a) * (p - self.b) * (p - self.c)) ** 0.5
# 创建三个对象
try:
tri1 = Triangle(23, 22, 33)
tri2 = Triangle(23, 2, 3)
tri3 = Triangle(3, 4, 5)
except ValueError as e:
print(e)
# 输出各自的周长和面积
print("三角形1的周长为:", tri1.perimeter(), ",面积为:", tri1.area())
print("三角形2的周长为:", tri2.perimeter(), ",面积为:", tri2.area())
print("三角形3的周长为:", tri3.perimeter(), ",面积为:", tri3.area())
```
注意,上面的代码中加入了对传入的三条边是否能构成三角形的检查。如果不能构成三角形,则会抛出 ValueError 异常。同时,定义了求周长和面积的方法 perimeter 和 area。最后,创建了三个 Triangle 类的对象,分别输出了它们的周长和面积。
如果你有其他问题,欢迎继续提出哦!
阅读全文