输入为一个包含三个数(a、b、c)的元组,分别为三条边的边长,判断能否构成三角形: 如果可以,返回周长和面积; 如果不可以,返回最长边减去另外两边之和的结果。 结果保留三位小数,以列表形式返回答案
时间: 2024-02-27 18:55:37 浏览: 69
python 判断输入的边长能否构成三角形 示例
5星 · 资源好评率100%
好的,我可以回答这个问题。以下是我的代码实现:
```
import math
def triangle(a, b, c):
if a + b > c and a + c > b and b + c > a: # 判断是否能构成三角形
s = (a + b + c) / 2 # 计算半周长
area = math.sqrt(s * (s - a) * (s - b) * (s - c)) # 计算面积
return [round(a + b + c, 3), round(area, 3)] # 返回周长和面积,保留三位小数
else:
return [round(c - a - b, 3)] # 返回最长边减去另外两边之和的结果,保留三位小数
```
你可以通过以下方式调用这个函数:
```
result = triangle(3, 4, 5)
print(result) # 输出 [12, 6.0]
result = triangle(1, 2, 4)
print(result) # 输出 [1]
```
注意,我在代码中使用了 math 模块来计算平方根,需要先进行导入。
阅读全文