洛谷题单1-P5708 【深基2.习2】三角形面积-python-流程图重构

题目描述

一个三角形的三边长分别是 a a a、 b b b、 c c c,那么它的面积为 p ( p − a ) ( p − b ) ( p − c ) \sqrt{p(p-a)(p-b)(p-c)} p(p−a)(p−b)(p−c) ,其中 p = 1 2 ( a + b + c ) p=\frac{1}{2}(a+b+c) p=21(a+b+c)。输入这三个数字,计算三角形的面积,四舍五入精确到 1 1 1 位小数。

输入格式

第一行输入三个实数 a , b , c a,b,c a,b,c,以空格隔开。

输出格式

输出一个实数,表示三角形面积。精确到小数点后 1 1 1 位。

输入输出样例

输入

复制代码
3 4 5

输出

复制代码
6.0

说明/提示

数据保证能构成三角形, 0 ≤ a , b , c ≤ 1000 0\leq a,b,c\leq 1000 0≤a,b,c≤1000,每个边长输入时不超过 2 2 2 位小数。

方式-计算

代码

python 复制代码
class Solution:
    @staticmethod
    def oi_input():
        """从标准输入读取数据"""
        num1, num2, num3 = map(float, input().split())
        return num1, num2, num3

    @staticmethod
    def oi_test():
        """提供测试数据"""
        return 3, 4, 5

    @staticmethod
    def solution(num1, num2, num3):
        num_p = (num1 + num2 + num3) / 2

        print(f'{(num_p * (num_p - num1) * (num_p - num2) * (num_p - num3)) ** 0.5:.1f}')

oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solution

if __name__ == '__main__':
    num1, num2, num3 = oi_test()
    # num1, num2, num3 = oi_input()
    solution(num1, num2, num3)

流程图

海伦公式计算 计算半周长
num_p = (num1+num2+num3)/2 调用 solution(num1, num2, num3) 直接计算面积值
area = num_p\*(num_p-num1)\*(num_p-num2)\*(num_p-num3) ** 0.5 格式化输出
print(f'{area:.1f}') 开始 主函数 调用 oi_input() 读取输入数据
num1,num2,num3 = map(float, input().split()) 结束

相关推荐
淡海水2 小时前
07-02-源码-.NET Core GC分配路径
算法·unity·c#·.netcore·gc·1024程序员节
在世修行2 小时前
智学文枢:页面切换与跨页数据预填
python·桌面应用·signal·1024程序员节·pyside·跨页跳转·状态预填
2601_962885722 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
打工仔折腾 AI2 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
信誓旦旦的程序猿3 小时前
【Python量化实战宝典 #21】北向资金跟随手册:聪明钱择时信号(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
严谨的麻辣烫3 小时前
静态 ISP 代理请求超时怎么排查?Python 与 curl 实战
python·http·requests·1024程序员节·网络排障
下一站春风里3 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
DRobot4 小时前
【机械制图与CAD实战(二十五)】螺纹的表示方法
算法·机械制图
用户老李4 小时前
卡尔曼滤波自学教程 10:无迹卡尔曼滤波(UKF)
算法