描述
输入三个数a,b,c, 判断能否以它们为三个边长构成三角形。若能,输出YES和三角形面积(结果保留2位小数),否则输出NO。
输入格式
输入包括三行,每行是一个数字
输出格式
如果输入的三个数字能够组成三角形的三边,则输出为两行,分别是’YES’ 和面积值(结果保留2位小数);如果输入的三边不能组成三角形,则输出为’NO’
解析:
- 输入包括三行,每行一个input()
- 每行是一个数字,未说明整数,用float()
- 判定能否构成三角形,满足下面一个条件即可
- 任意两边之和大于第三边,and
- 两条短边之和大于长边
- 计算 面积可用海伦公式,百度找
- 输出时保留2位小数
- 输出字符串时注意都是大写
常见问题
- 未判定能否构成三角形
- 判定三角形条件错 ```python if a<=0 or b<=0 or c<=0or a+b<=c or a+c<=b or b+c<=a:
if a >= 0 or b >= 0 or c >= 0 or (a+b) >= c or (a+c) >= b or (b+c) >= a: s = 0.5ab((1-(a2+b2-c2)/2ab)0.5) print(‘YES’+f’{s:.2f}’, end=’\n’)
3. 未计算面积
```python
import math
a=eval(input())
b=eval(input())
c=eval(input())
if a<=0 or b<=0 or c<=0or a+b<=c or a+c<=b or b+c<=a:
print ("NO")
else:
print('YES')
缺少空格导致语法错
if a<=0 or b<=0 or c<=0or a+b<=c or a+c<=b or b+c<=a: # c<=0or变成一个名字了
输出格式错,两行输出
print('YES'+f'{s:.2f}', end='\n')