编写代码输入三角形的三条边a,b,c,如果能构成三角形输出面积和周长,否则输出不能构成三角形
时间: 2024-05-05 09:17:16 浏览: 105
```
a = float(input("请输入三角形的边a:"))
b = float(input("请输入三角形的边b:"))
c = float(input("请输入三角形的边c:"))
if a + b > c and a + c > b and b + c > a:
# 计算周长
perimeter = a + b + c
# 计算面积(海伦公式)
p = perimeter / 2
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print("可以构成三角形,周长为:", perimeter, ",面积为:", area)
else:
print("不能构成三角形")
```
注意事项:
1. 三角形的任意两边之和必须大于第三边,所以需要判断三个条件;
2. 计算面积时需要使用海伦公式,即$p=\dfrac{a+b+c}{2}$,$S=\sqrt{p(p-a)(p-b)(p-c)}$;
3. 输出时需要注意加上单位。
相关问题
编写输入三角形三条边判断能够构成三角形,若能构成则计算三角形面积和周长,否则引发异常
下面是一个 Python 代码示例,可以实现输入三角形三条边,判断能否构成三角形,并计算三角形面积和周长:
```python
import math
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def is_valid(self):
if self.a + self.b > self.c and self.a + self.c > self.b and self.b + self.c > self.a:
return True
else:
return False
def perimeter(self):
return self.a + self.b + self.c
def area(self):
s = self.perimeter() / 2.0
return math.sqrt(s * (s - self.a) * (s - self.b) * (s - self.c))
try:
a, b, c = map(float, input("请输入三角形的三条边长,以空格分隔:").split())
triangle = Triangle(a, b, c)
if triangle.is_valid():
print("能够构成三角形")
print("周长为:", triangle.perimeter())
print("面积为:", triangle.area())
else:
raise ValueError("无法构成三角形")
except ValueError as e:
print(e)
```
运行结果如下:
```
请输入三角形的三条边长,以空格分隔:3 4 5
能够构成三角形
周长为: 12.0
面积为: 6.0
```
如果输入的三条边无法构成三角形,会引发异常,提示无法构成三角形。
python编写程序 输入三角形三条边判断能否构成三角形 若能构成计算三角形的面积和周长 若则引发异常
好的,你可以将以下代码保存为.py文件并运行,即可实现输入三角形三条边并判断能否构成三角形,计算面积和周长,若不能构成三角形则引发异常。
```
import math
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def is_valid(self):
if self.a + self.b > self.c and self.a + self.c > self.b and self.b + self.c > self.a:
return True
else:
return False
def perimeter(self):
return self.a + self.b + self.c
def area(self):
p = self.perimeter() / 2
return math.sqrt(p * (p - self.a) * (p - self.b) * (p - self.c))
try:
a = float(input("请输入三角形第一条边的长度:"))
b = float(input("请输入三角形第二条边的长度:"))
c = float(input("请输入三角形第三条边的长度:"))
triangle = Triangle(a, b, c)
if triangle.is_valid():
print("这是一个三角形,周长为:%f,面积为:%f" % (triangle.perimeter(), triangle.area()))
else:
raise ValueError("这不是一个三角形!")
except ValueError as e:
print("输入错误:", e)
except Exception as e:
print("发生异常:", e)
```
当输入三个合法的边长时,程序会输出这是一个三角形,周长为:xxx,面积为:xxx的结果;当输入的三个边长无法构成三角形时,程序会引发ValueError异常并输出这不是一个三角形!;当输入的内容不符合要求时,程序会引发其他异常并输出相应的错误信息。
阅读全文