编写一个三角形类,要求能够计算三角形的面积和周长。从键盘输入一个三角形的3条边的长度,并用这3条边创建一个三角形对象,输出此三角形对象的面积和周长
时间: 2024-09-14 15:09:52 浏览: 57
在Python中,我们可以编写一个`Triangle`类来实现这个功能。首先,我们需要确认输入的三条边是否能构成一个有效的三角形,然后使用海伦公式计算面积,同时直接相加边长得到周长。下面是具体的代码示例:
```python
import math
class Triangle:
def __init__(self, side1, side2, side3):
self.side1 = side1
self.side2 = side2
self.side3 = side3
if not self.is_valid_triangle():
raise ValueError("Invalid triangle sides")
def is_valid_triangle(self):
return (self.side1 + self.side2 > self.side3) and \
(self.side2 + self.side3 > self.side1) and \
(self.side1 + self.side3 > self.side2)
def perimeter(self):
return self.side1 + self.side2 + self.side3
def area(self):
semi_perimeter = self.perimeter() / 2
return math.sqrt(semi_perimeter * (semi_perimeter - self.side1) *
(semi_perimeter - self.side2) * (semi_perimeter - self.side3))
# 用户输入三角形的三边
try:
side1 = float(input("请输入第一条边的长度: "))
side2 = float(input("请输入第二条边的长度: "))
side3 = float(input("请输入第三条边的长度: "))
triangle = Triangle(side1, side2, side3)
print(f"三角形的周长: {triangle.perimeter():.2f}")
print(f"三角形的面积: {triangle.area():.2f}")
except ValueError as e:
print(e)
```
在这个例子中,用户需要按照提示输入三条边的长度,程序会检查它们能否构成一个三角形。如果可以,将计算并输出面积和周长;如果不能,则抛出异常。
阅读全文