用python,输入三角形三条边判断能否构成直角三角形,若能构成则计算三角形的面积和周长,否则引发异常。
时间: 2023-12-29 11:49:59 浏览: 87
可以使用以下代码实现:
```python
a = float(input("请输入三角形第一条边的长度:"))
b = float(input("请输入三角形第二条边的长度:"))
c = float(input("请输入三角形第三条边的长度:"))
# 判断能否构成直角三角形
if a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2:
# 计算面积
p = (a + b + c) / 2
area = (p * (p-a) * (p-b) * (p-c)) ** 0.5
# 计算周长
perimeter = a + b + c
print("该三角形是直角三角形,面积为:", area, "周长为:", perimeter)
else:
# 引发异常
raise Exception("该三角形不能构成直角三角形!")
```
运行程序后,会先依次输入三角形三条边的长度。如果能构成直角三角形,则计算并输出面积和周长。如果不能构成直角三角形,则会引发异常并输出错误信息。
相关问题
2. python编写程序,输入三角形三条边判断能否构成直角三角形,若能构成则计算三角形的面积和周长,否则引发异常。
可以的,以下是 Python 代码:
```python
try:
a, b, c = map(float, input("请输入三角形三条边的长度(用空格隔开): ").split())
if a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2:
print("这是一个直角三角形")
p = a + b + c
s = 0.5 * a * b
print("三角形的周长为:", p, ",面积为:", s)
else:
raise ValueError("这不是一个直角三角形")
except ValueError as e:
print("错误信息:", e)
```
请问有哪里需要更改吗?
编写程序,输入三角形三条边判断能否构成直角三角形,若能构成则计算三角形的面积和周长,否则引发异常
好的,您可以参考以下代码实现:
```python
import math
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def is_right_triangle(self):
if self.a ** 2 + self.b ** 2 == self.c ** 2 or \
self.b ** 2 + self.c ** 2 == self.a ** 2 or \
self.c ** 2 + self.a ** 2 == self.b ** 2:
return True
else:
return False
def perimeter(self):
return self.a + self.b + self.c
def area(self):
s = self.perimeter() / 2
return math.sqrt(s * (s - self.a) * (s - self.b) * (s - self.c))
a = float(input("请输入三角形的第一条边长:"))
b = float(input("请输入三角形的第二条边长:"))
c = float(input("请输入三角形的第三条边长:"))
triangle = Triangle(a, b, c)
try:
if not triangle.is_right_triangle():
raise Exception("无法构成直角三角形!")
print("三角形的周长为:", triangle.perimeter())
print("三角形的面积为:", triangle.area())
except Exception as e:
print("发生异常:", e)
```
输入三角形三条边长后,程序会判断能否构成直角三角形,若能,则计算三角形的面积和周长,否则会引发异常。
阅读全文