from math import* a=eval(input()) b=eval(input()) c=eval(input()) d=0.5*a*b*sqrt(1-((a**2+b**2-c**2)/(2*a*b))**2) if a+b>c and a+c>b and b+c>a: print('YES') print('{:.2f}'.format(d)) else: print('NO') import math优化这个代码
时间: 2023-08-28 20:09:18 浏览: 119
Javascript 一些需要注意的细节(必看篇)
以下是代码的优化版本:
```python
import math
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 = math.sqrt(s * (s - a) * (s - b) * (s - c))
print('YES')
print('{:.2f}'.format(area))
else:
print('NO')
```
主要的优化点有:
1. 引入 math 模块,避免重复导入 sqrt 函数;
2. 将输入值转换为浮点数类型,避免出现类型错误;
3. 计算三角形面积时使用海伦公式,避免使用套公式麻烦,同时也避免重复计算。
阅读全文