用python输入三个数a,b,c, 判断能否以它们为三个边长构成三角形。若能,输出YES和三角形面积(结果保留2位小数),否则输出NO。
时间: 2024-02-27 17:56:06 浏览: 192
好的,这是一个常见的数学问题。代码如下:
```python
a, b, c = map(float, input().split())
if a + b > c and a + c > b and b + c > a:
p = (a + b + c) / 2
s = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print("YES", "%.2f" % s)
else:
print("NO")
```
首先我们通过 `input()` 函数获取三个数,然后使用 `map()` 函数将它们转换成浮点数。接着,我们用条件语句判断这三个数是否能够构成一个三角形。如果可以,我们通过海伦公式计算三角形面积,并使用 `print()` 函数输出 YES 和面积,保留两位小数。如果不能构成三角形,直接输出 NO。
相关问题
输入三个数a,b,c, 判断能否以它们为三个边长构成三角形。若能,输出YES和三角形面积(结果保留2位小数),否则输出NO。用Python写
a, b, c = map(float, input().split())
if a+b>c and a+c>b and b+c>a:
p = (a+b+c)/2
area = (p*(p-a)*(p-b)*(p-c))**0.5
print("YES", "{:.2f}".format(area))
else:
print("NO")
写一段python代码:输入三个数a,b,c, 判断能否以它们为三个边长构成三角形。若能,输出YES和三角形面积(结果保留2位小数),否则输出NO。
好的,以下是代码:
```python
import math
a = float(input("请输入第一个数a:"))
b = float(input("请输入第二个数b:"))
c = float(input("请输入第三个数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))
print("YES")
print("三角形的面积为:%.2f" % area)
else:
# 如果三个数不能构成三角形
print("NO")
```
这段代码首先让用户输入三个数a、b、c,然后判断这三个数能否构成三角形。我们使用了三角形成立的充要条件:任意两边之和大于第三边。如果这个条件满足,那么就计算三角形的面积并使用print函数输出YES和面积。计算面积的公式是海伦公式,其中s为半周长,a、b、c为三角形的三条边长。如果这个条件不满足,那么就直接输出NO。
阅读全文