当前位置:首页>python>Python编程题:6.P5708 【深基2.习2】三角形面积

Python编程题:6.P5708 【深基2.习2】三角形面积

  • 2026-09-05 23:26:21
Python编程题:6.P5708 【深基2.习2】三角形面积

点击蓝字 关注我们

今天要做的是来自洛谷网站的P5708 【深基2.习2】三角形面积。

https://www.luogu.com.cn/problem/P5708

有账号的可以上去做做。

P5708 【深基2.习2】三角形面积

题目描述

一个三角形的三边长分别是 a、b、c,那么它的面积为 

,其中

输入这三个数字,计算三角形的面积,四舍五入精确到 1 位小数。

输入格式

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

输出格式

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

输入输出样例

说明/提示

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

解题思路

本题要求输出三角形的面积,三角形的边长由用户输入,公式已经给出。

难点在于公式中的开根号,在Python中应该如何实现。

这里提供2种实现方式:

1、开根号就是1/2次方,利用**运算符实现

2、利用math库中的sqrt()函数

解题步骤:

1、用户输入3个数值

2、计算

3、输出,保留1位小数。

知识点

  • 字符输入 input() 获取字符串,再用split()进行分割字符串,但要记住得到的都是字符串类型的。由于都是浮点数,可以利用map转换格式。

    a,b,c=map(float,input().split())

  • 两种求根方法(见上面)

  • 输出时保留浮点数小数点的三种方法:

    1、print(“%.nf”%num):这里采用占位符的方法,f代表变量是浮点数,.nf表格保留小数点后n位。num是变量名。

    2、print("{:.nf}".format(num))

    3、print(f"{num:.nf}")

参考代码

逐句解析

  • import math:Python 内置数学库,必须导入才能使用平方根函数 sqrt()

  • a, b, c = map(float, input().split())读取一行输入,空格分割后全部转为浮点数,一次性赋值给三条边长

  • p = (a + b + c) / 2 求出三角形半周长

  • p*(p-a)*(p-b)*(p-c) 公式内连乘,最后用 math.sqrt(数值) 对整体开平方得到面积

  • :.1f:自动四舍五入,强制保留小数点后 1 位

如果你觉得意犹未尽,那就趁热打铁,继续挑战一下吧!

1、增加合法性判断

输入三边,如果无法构成三角形(任意两边之和小于等于第三边),输出无法构成三角形;可以构成则输出面积(保留 1 位小数)

测试用例 1:3 4 5 → 6.0

测试用例 2:1 2 3 → 无法构成三角形

2、球体体积计算(math 库应用)

球体体积计算公式:

r代表球体半径,π取圆周率常量。

输入一个正数作为球体半径,利用 Python math 库中的圆周率 math.pi 计算球体体积,结果四舍五入保留 2 位小数输出。

最新文章

随机文章