python依次输入三角形的三边长判断能否构成直角三角形,若能构成计算其面积周长,否则异常
时间: 2024-02-21 18:30:20 浏览: 68
可以使用以下代码实现:
```python
import math
a = float(input("请输入三角形的第一条边长:"))
b = float(input("请输入三角形的第二条边长:"))
c = float(input("请输入三角形的第三条边长:"))
if a + b > c and a + c > b and b + c > a: # 判断是否能构成三角形
if a*a + b*b == c*c or a*a + c*c == b*b or b*b + c*c == a*a: # 判断是否为直角三角形
p = a + b + c # 计算周长
s = 0.5 * a * b # 计算面积
print("可以构成直角三角形,面积为:", s, ",周长为:", p)
else:
print("不是直角三角形")
else:
print("无法构成三角形")
```
运行效果如下:
```
请输入三角形的第一条边长:3
请输入三角形的第二条边长:4
请输入三角形的第三条边长:5
可以构成直角三角形,面积为: 6.0 ,周长为: 12.0
```
相关问题
用python,输入三角形三条边判断能否构成直角三角形,若能构成则计算三角形的面积和周长,否则引发异常。
可以使用以下代码实现:
```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)
```
请问有哪里需要更改吗?
阅读全文