输入三角形边长,判断是否能构成三角形,如能,判断构成三角形,打印输出是正三角形,等腰直角三角形,等腰三角形,直角三角形,还是不规则三角形,并计算其面积和周长,并输出。
时间: 2024-11-11 18:14:15 浏览: 84
首先,我们需要验证输入的三个边长是否满足构成三角形的基本条件,即任意两边之和大于第三边。然后根据边长的关系确定三角形的类型:
1. 等边三角形:三边相等
2. 等腰三角形:有两条边相等
3. 直角三角形:其中一个内角为90度
4. 正三角形:三边长度相等且每个内角都是60度
5. 不规则三角形:三边长度都不相等
以下是Python的一个示例实现:
```python
import math
def validate_triangle(a, b, c):
if a + b > c and a + c > b and b + c > a:
return True
else:
return False
def triangle_type(a, b, c):
if a == b == c:
return "等边三角形"
elif a == b or a == c or b == c:
return "等腰三角形"
elif math.isclose(math.sqrt(a ** 2 + b ** 2), c, abs_tol=1e-9): # 判断直角三角形
return "直角三角形"
else:
return "不规则三角形"
def calculate_area(a, b, c):
s = (a + b + c) / 2 # 半周长
area = math.sqrt(s * (s - a) * (s - b) * (s - c))
return area
def calculate_perimeter(a, b, c):
perimeter = a + b + c
return perimeter
def main():
a = float(input("请输入三角形的第一条边长: "))
b = float(input("请输入三角形的第二条边长: "))
c = float(input("请输入三角形的第三条边长: "))
if validate_triangle(a, b, c):
type_str = triangle_type(a, b, c)
area = calculate_area(a, b, c)
perimeter = calculate_perimeter(a, b, c)
print(f"这是一个{type_str}三角形,面积为{area:.2f},周长为{perimeter:.2f}。")
else:
print("输入的边长无法构成三角形。")
if __name__ == "__main__":
main()
阅读全文