输入三个数a,b,c, 判断能否以它们为三个边长构成直角三角形。若能,输出YES,否则输出NO。
输入格式
输入包括三行,每行是一个数字
输出格式
‘YES’ 或’NO’
解析
- 判定三角形:
- 边长都大于0
- 任意两边之和大于第三边
- 判定直角三角形:
- 是三角形
- 勾股定理判定直角三角形
- 可先找出最大值 和最小值 再进行判定
常见问题
- 乱抄!!! ```python if a == 0 and b != 0:
elif a == 0 and b == 0:
elif delta < 0:
elif delta == 0:
2. 分支下缺少语句块,导致语法错误

```python
a = eval(input())
b = eval(input())
c = eval(input())
shortest = min(a, b, c)
longest = max(a, b, c)
middle = sum([a, b, c]) - shortest - longest
if shortest <= 0 or shortest + middle <= longest:
elif shortest ** 2 + middle ** 2 == longest ** 2:
print("YES")
else:
print("NO")
- 未判定能否构成三角形,若边长为负值时有可能满足勾股定理,但此时不是三角形
a = eval(input())
b = eval(input())
c = eval(input())
ls = [a,b,c]
ls.sort()
if ls[0]**2 + ls[1]**2 == ls[2]**2:
print('YES')
else:
print('NO')
a = eval(input()) b = eval(input()) c = eval(input()) if a * a + b * b ==c * c or a * a + c * c ==b * b or c * c + b * b ==a * a: print('YES') else: print('NO')