python 输入三角形的三边长 判断是否能够成三角形 如果能构成三角形 打印输出是正三角形 等腰直角三角形 等腰三角形 直角三角形 还是不规则三角形 最后计算周长和面积并输出
时间: 2024-11-07 15:11:13 浏览: 22
py代码-判断三角形
在Python中,你可以通过定义函数来实现这个功能。首先,你需要检查输入的三边长度是否满足构成三角形的条件(任意两边之和大于第三边)。然后根据特定的条件判断三角形的类型:
1. 如果三边相等,它是等边三角形。
2. 如果只有两条边相等,可能是等腰三角形。
3. 如果有一个90度的角,那么是直角三角形。
4. 其他情况就是不规则三角形。
接下来是计算周长和面积的公式:
- 周长 = a + b + c (a、b、c为三边)
- 对于等边三角形,面积 = (边长^2 * sqrt(3)) / 4;
- 对于等腰三角形,如果知道底和高的值,可以使用base * height / 2计算面积;若只知道一边和对应的高,需要额外的信息才能确定;
- 对于直角三角形,面积 = 底乘以高的一半,也可以使用勾股定理求解斜边后直接计算。
下面是一个简单的示例函数:
```python
import math
def check_triangle(a, b, c):
if a + b > c and a + c > b and b + c > a:
# 判断类型
if a == b == c:
triangle_type = "等边三角形"
elif a == b or a == c or b == c:
triangle_type = "等腰三角形"
else:
hypotenuse = math.sqrt(a**2 + b**2)
if hypotenuse.is_integer(): # 检查是否有整数斜边判定直角三角形
triangle_type = "直角三角形"
else:
triangle_type = "不规则三角形"
# 计算周长
perimeter = a + b + c
# 计算面积(仅针对特殊情况)
if triangle_type in ["等边三角形", "直角三角形"]:
area = (perimeter ** 2) / (4 * math.tan(math.pi / 3))
elif triangle_type == "等腰三角形":
# 如果已知底和高
base, height = sorted([a, b, c])[:2]
area = 0.5 * base * height
else:
print("无法计算面积,因为类型未知")
return triangle_type, perimeter, area
else:
return "这组边不能构成三角形"
# 示例用法
side1 = float(input("请输入第一边长度:"))
side2 = float(input("请输入第二边长度:"))
side3 = float(input("请输入第三边长度:"))
triangle_type, perimeter, area = check_triangle(side1, side2, side3)
print(f"{triangle_type},周长:{perimeter},面积:{area}")
```
运行此程序后,用户会依次输入三角形的三边长度,然后程序会根据输入判断三角形类型并输出周长和面积(前提是可以计算的情况下)。
阅读全文