下面是一个关于如何使用 Python 编写一个简单的三角形类的示例代码。这个示例展示了如何创建一个三角形对象,计算其周长、面积和判断三角形的类型(等边、等腰、直角或普通)。
Python 三角形案例- import math
- class Triangle:
- def __init__(self, a, b, c):
- """ 初始化三角形的三条边 """
- self.a = a
- self.b = b
- self.c = c
- def is_valid(self):
- """ 检查三角形的有效性 """
- return (self.a + self.b > self.c) and (self.a + self.c > self.b) and (self.b + self.c > self.a)
- def perimeter(self):
- """ 计算周长 """
- if self.is_valid():
- return self.a + self.b + self.c
- else:
- return "无效的三角形"
- def area(self):
- """ 计算面积使用海伦公式 """
- if self.is_valid():
- s = self.perimeter() / 2 # 半周长
- return math.sqrt(s * (s - self.a) * (s - self.b) * (s - self.c))
- else:
- return "无效的三角形"
-
- def type_of_triangle(self):
- """ 判断三角形的类型 """
- if not self.is_valid():
- return "无效的三角形"
-
- if self.a == self.b == self.c:
- return "等边三角形"
- elif self.a == self.b or self.a == self.c or self.b == self.c:
- return "等腰三角形"
- else:
- # 使用勾股定理判断直角三角形
- sides = sorted([self.a, self.b, self.c])
- if math.isclose(sides[0] ** 2 + sides[1] ** 2, sides[2] ** 2):
- return "直角三角形"
- else:
- return "普通三角形"
- # 测试用例
- if __name__ == "__main__":
- a = float(input("请输入第一条边长: "))
- b = float(input("请输入第二条边长: "))
- c = float(input("请输入第三条边长: "))
-
- triangle = Triangle(a, b, c)
-
- if triangle.is_valid():
- print(f"周长: {triangle.perimeter()}")
- print(f"面积: {triangle.area():.2f}")
- print(f"三角形类型: {triangle.type_of_triangle()}")
- else:
- print("您输入的边长无法构成一个有效的三角形。")
复制代码
代码说明- Triangle 类:用于表示三角形,初始化时接受三条边的长度。
- is_valid 方法:检查三角形的三条边是否能构成一个有效的三角形。
- perimeter 方法:返回三角形的周长。
- area 方法:使用海伦公式计算三角形的面积。
- type_of_triangle 方法:判断三角形的类型,包括等边、等腰、直角和普通三角形。
- 测试用例:在 __main__ 块中,程序接受用户输入的边长并输出三角形的周长、面积和类型。
运行示例你可以将上述代码复制并粘贴到 Python 环境中运行。输入三条边的长度即可获取相关信息。
如果你对代码有任何疑问或需要更多功能,可以随时问我!
|