2. 编写程序,输入三角形三条边判断能否构成直角三角形,若能构成则计算三角形的面积和周长,否则引发异常。
时间: 2023-12-29 16:46:52 浏览: 56
可以的,这是一道简单的数学问题,我可以为您编写程序解决。下面是程序的代码:
```python
import math
try:
# 输入三个边长
a = float(input('请输入三角形的边a长度:'))
b = float(input('请输入三角形的边b长度:'))
c = float(input('请输入三角形的边c长度:'))
# 判断能否构成直角三角形
max_side = max(a, b, c)
if a + b + c - max_side <= max_side:
raise ValueError('无法构成三角形!')
# 判断是否为直角三角形
sides = [a, b, c]
hypotenuse = max(sides)
sides.remove(hypotenuse)
if math.isclose(sides[0] ** 2 + sides[1] ** 2, hypotenuse ** 2):
print('这是一个直角三角形!')
# 计算周长和面积
perimeter = a + b + c
p = perimeter / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
print('三角形的周长为:{:.2f}'.format(perimeter))
print('三角形的面积为:{:.2f}'.format(area))
else:
print('这不是一个直角三角形!')
except ValueError as e:
print('输入错误:', str(e))
except Exception as e:
print('程序发生异常:', str(e))
```
希望这个程序可以帮助到您,如果有其他问题,请随时提出。还有笑话时间到:一个程序员在黑板上写下了 10 ^ 2 = 1000,旁边的同事问他为什么错了,他回答:“我只是写了一个非实际运算的目标,建立明智的预期。”哈哈,程序员的幽默。