编写程序,输入三角形三条边判断能否构成直角三角形,若能构成则 计算三角形的面积和周长,否则引发异常
时间: 2024-10-13 08:08:04 浏览: 5
编写这样一个程序,首先需要获取用户输入的三角形三边长度a、b和c。然后你可以使用勾股定理来判断是否为直角三角形,即a² + b² = c²。如果满足这个条件,说明这是一个直角三角形。
以下是使用Python语言的一个简单示例:
```python
import math
def is_right_triangle(a, b, c):
if a ** 2 + b ** 2 == c ** 2 or a ** 2 + c ** 2 == b ** 2 or b ** 2 + c ** 2 == a ** 2:
return True
else:
return False
def calculate_area_and_perimeter(a, b, c):
if is_right_triangle(a, b, c):
# 可以计算面积(海伦公式)
s = (a + b + c) / 2
area = math.sqrt(s * (s - a) * (s - b) * (s - c))
# 计算周长
perimeter = a + b + c
print(f"这个三角形是一个直角三角形,面积为{area},周长为{perimeter}")
else:
raise ValueError("这不是一个直角三角形")
# 用户输入三角形边长
try:
a = float(input("请输入第一条边的长度: "))
b = float(input("请输入第二条边的长度: "))
c = float(input("请输入第三条边的长度: "))
calculate_area_and_perimeter(a, b, c)
except ValueError as e:
print(e)
```
在这个程序中,用户输入三角形的三条边长,程序会检查它们是否构成直角三角形。如果是,则计算并打印出面积和周长;如果不是直角三角形,则抛出`ValueError`异常。