python输入三角形的三边长,判断是否能构成三角形。如果能构成三角形,打印输出是正三角形、等腰直角三角形、等腰三角形、直角三角形,还是不规则三角形。最后计算周长和面积并输出。
时间: 2024-10-16 07:02:54 浏览: 41
在Python中,我们可以编写一个函数来接受用户输入三角形的三边长,然后根据它们的关系判断三角形的类型。同时,我们还需要计算并输出周长和面积。下面是实现此功能的代码:
```python
import math
def is_triangle(a, b, c):
return a + b > c and b + c > a and a + c > b
def triangle_type(a, b, c):
if a == b == c: # 等边三角形
return "正三角形"
elif abs(a**2 - b**2 - c**2) < 0.001: # 等腰直角三角形
return "等腰直角三角形"
elif a == b or a == c or b == c: # 等腰三角形
return "等腰三角形"
elif a**2 + b**2 == c**2: # 直角三角形
return "直角三角形"
else: # 不规则三角形
return "不规则三角形"
def calculate_perimeter(a, b, c):
return a + b + c
def calculate_area(a, b, c):
p = calculate_perimeter(a, b, c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
return area
a = float(input("请输入三角形的第一条边长: "))
b = float(input("请输入三角形的第二条边长: "))
c = float(input("请输入三角形的第三条边长: "))
if is_triangle(a, b, c):
triangle_type_str = triangle_type(a, b, c)
perimeter = calculate_perimeter(a, b, c)
area = calculate_area(a, b, c)
print(f"这是一个{triangle_type_str}三角形,其周长为{perimeter},面积为{area}.")
else:
print("输入的边长无法构成三角形.")
```
在这个脚本中,我们首先检查输入的三边能否组成一个有效的三角形,然后确定其类型,最后计算并输出周长和面积。
阅读全文