3条回答 默认 最新
关注 参考方法:
通过用户输入三角形三边长度,并计算三角形的面积
已知三角形三边a,b,c,则
(海伦公式)(p=(a+b+c)/2)
S=sqrt[p(p-a)(p-b)(p-c)]
=sqrt[(1/16)(a+b+c)(a+b-c)(a+c-b)(b+c-a)]
=1/4sqrt[(a+b+c)(a+b-c)(a+c-b)(b+c-a)]
import mathimport unicodedata
定义函数判断输入数据是否为数字
def is_number(s):try:
float(s)
return True
except ValueError:
pass
try:
unicodedata.digit(s) # digit 把一个合法的数字字符串转换为数字值
return True
except (TypeError, ValueError):
pass
return False
def calculate(a, b, c):
if is_number(a) and is_number(b) and is_number(c):
a = float(a)
b = float(b)
c = float(c)
if a > 0 and b > 0 and c >0:
while a+b<=c or a+c<=b or b+c<=a:
print("输入的边长无法构成三角形!!!")
a = input('输入三角形边长a: ')
b = input('输入三角形边长b: ')
c = input('输入三角形边长c: ')
calculate(a,b,c)
p = (a+b+c)/2
area = math.sqrt(p*(p - a)(p - b)(p - c))
print("三角形面积为:%0.2f" %area)
else:
print("三角形的边长必须大于0,请输入大于0的数!!!")
else:
print('请输入数字类型!!!')
a = input('输入三角形边长a: ')
b = input('输入三角形边长b: ')
c = input('输入三角形边长c: ')
calculate(a,b,c)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 stm32代码移植没反应
- ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
- ¥100 连续两帧图像高速减法
- ¥15 组策略中的计算机配置策略无法下发
- ¥15 如何绘制动力学系统的相图
- ¥15 对接wps接口实现获取元数据
- ¥20 给自己本科IT专业毕业的妹m找个实习工作
- ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
- ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
- ¥50 mac mini外接显示器 画质字体模糊