2024-05-31 10:15:48
题目没有限定输入的边长一定为整数,应该改为浮点数float
判断是否能构成三角形还要保证三条边都为正数
能构成三角形时再计算面积,否则可能出现负数开根号的情况,会报错
输出要求保留1位小数,要用格式化输出
修改后的代码如下:
import math
x = float(input('请输入三角形的边a:')) # 边长可能为浮点数
y = float(input('请输入三角形的边b:'))
z = float(input('请输入三角形的边c:'))
if x>0 and y>0 and z>0 and x+y>z and x+z>y and y+z>x: # 还要判断是否是正数
p=(x+y+z)/2
s=math.sqrt(p*(p-x)*(p-y)*(p-z)) # 能构成三角形的话再计算面积
print('三角形的周长=%.1f, 面积=%.1f' % (x+y+z, s)) # 格式化输出,保留1位小数
else:
print('无法构成三角形')
以上代码运行通过,但图片中没有看到输出测试样例,请自行修改print语句以符合输出