以下程序根据输人的三角形的三边判断是否能组成三角形,若可以则瑜出它的面积和三 角形的类型。
时间: 2024-05-08 14:22:22 浏览: 13
好的,这是一个关于三角形的程序。你可以将三角形的三边长度输入程序,程序将判断是否能组成三角形,并计算出三角形的面积和类型。
下面是示例代码:
```python
a = float(input("请输入三角形的第一条边长:"))
b = float(input("请输入三角形的第二条边长:"))
c = float(input("请输入三角形的第三条边长:"))
if a + b > c and a + c > b and b + c > a:
# 计算半周长
s = (a + b + c) / 2
# 计算面积
area = (s * (s - a) * (s - b) * (s - c)) ** 0.5
# 判断三角形类型
if a == b == c:
print("该三角形为等边三角形,面积为:", round(area, 2))
elif a == b or a == c or b == c:
print("该三角形为等腰三角形,面积为:", round(area, 2))
else:
print("该三角形为普通三角形,面积为:", round(area, 2))
else:
print("无法构成三角形")
```
你可以将以上代码复制到Python IDE中运行,输入三角形的三边长度,程序将输出三角形的类型和面积。注意,输入的三边长度必须为数值型数据。
相关问题
.利用断言编写程序。输入三角形的三边长,判断三边是否能构成三角形。若不能,抛出异常,显示异常信息“不能构成三角形”;否则,计算并输出三角形的面积(保留两位小数
下面是Python的实现:
```python
import math
def calc_triangle_area(a, b, c):
"""
计算三角形面积
"""
p = (a + b + c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
return round(area, 2)
def is_valid_triangle(a, b, c):
"""
判断三边能否构成三角形
"""
assert a > 0 and b > 0 and c > 0, '三边长度必须大于0'
assert a + b > c and b + c > a and a + c > b, '不能构成三角形'
return True
try:
a, b, c = map(float, input('请输入三角形的三边长,用空格分隔:').split())
is_valid_triangle(a, b, c)
area = calc_triangle_area(a, b, c)
print('三角形的面积为:', area)
except AssertionError as e:
print('错误:', e)
except ValueError:
print('输入格式错误,请输入三个数值,用空格分隔')
```
程序的主要流程如下:
1. 定义 `calc_triangle_area()` 函数,计算三角形面积;
2. 定义 `is_valid_triangle()` 函数,判断三边能否构成三角形,如果不能构成三角形,就抛出异常;
3. 在 `try` 语句块中,读取用户输入的三边长,调用 `is_valid_triangle()` 函数判断是否能构成三角形,如果能,则调用 `calc_triangle_area()` 函数计算面积,并输出;
4. 在 `except` 语句块中,捕获可能出现的异常,包括输入格式错误和三边长度小于等于0的情况。
写一个程序,判断用户输入的三个整数(表示三边长)是否能构成一个三角形, 如果不能则抛出异常,显示异常信息 “a,b,c 不能构成三角形”,如果可以构成则显示三角形类型《等边,等腰,直角,普通) 和三个边长。
以下是Python代码实现:
```python
class TriangleError(Exception):
pass
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def get_type(self):
if self.a == self.b == self.c:
return "等边三角形"
elif self.a == self.b or self.b == self.c or self.c == self.a:
return "等腰三角形"
elif 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 "直角三角形"
else:
return "普通三角形"
def main():
try:
a = int(input("请输入第一条边长: "))
b = int(input("请输入第二条边长: "))
c = int(input("请输入第三条边长: "))
if a + b <= c or b + c <= a or c + a <= b:
raise TriangleError(f"{a},{b},{c} 不能构成三角形")
triangle = Triangle(a, b, c)
print(f"{triangle.get_type()},三边长为{a},{b},{c}")
except ValueError:
print("输入的不是整数")
except TriangleError as e:
print(e)
if __name__ == '__main__':
main()
```
我们定义了一个`TriangleError`异常类,用于在三角形无法构成时抛出异常。我们还定义了一个`Triangle`类,用于计算三角形类型。
在`main`函数中,我们通过`input`函数获取用户输入的三个整数,并检查它们是否能构成三角形。如果不能构成,则抛出`TriangleError`异常,显示异常信息。如果可以构成,则创建一个`Triangle`对象,并调用`get_type`方法获取三角形类型,然后输出结果。如果用户输入的不是整数,则捕获`ValueError`异常。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)