编写程序实现如下功能:创建一个三角形类Triangle,包含三条边长、面积、周长等属性。定义构造方法对这三条边长属性进行赋值。如果三条边长不能组成三角形则系统抛出异常,并对异常进行处理;如果可以组成三角形,则计算三角形面积和周长并输出。
时间: 2024-10-25 19:14:33 浏览: 24
【Python--抽象类和抽象方法】--求三角形、矩形、圆的面积和周长的编程题(csdn)————程序.pdf
5星 · 资源好评率100%
在Python中,你可以按照以下步骤编写一个名为`Triangle`的类来实现这个功能:
```python
class Triangle:
def __init__(self, side1, side2, side3):
if not self.is_valid_triangle(side1, side2, side3):
raise ValueError("Invalid triangle sides: They cannot form a valid triangle.")
else:
self.side1 = side1
self.side2 = side2
self.side3 = side3
self.perimeter = self.calculate_perimeter()
self.area = self.calculate_area()
@staticmethod
def is_valid_triangle(a, b, c):
return a + b > c and a + c > b and b + c > a
def calculate_perimeter(self):
return self.side1 + self.side2 + self.side3
def calculate_area(self):
p = self.perimeter / 2
area = (p * (p - self.side1) * (p - self.side2) * (p - self.side3)) ** 0.5
return area
try:
# 创建一个实例并尝试计算
t = Triangle(3, 4, 5)
print(f"Perimeter: {t.perimeter}, Area: {t.area}")
except ValueError as e:
print(e)
```
在这个例子中,我们定义了一个`Triangle`类,它有三个边长属性`side1`, `side2`, 和 `side3`。构造函数首先检查是否能构成一个有效的三角形,如果不满足条件就抛出`ValueError`。然后计算周长和面积,并将结果存储在对应的属性里。
在主程序中,我们试图创建一个三角形实例并打印其周长和面积。如果边长无法形成三角形,会捕获到`ValueError`并显示错误信息。
阅读全文