【Python习题】计算弓形的面积(保姆级图文+实现代码)

目录

    • 题目
    • 实现思路
    • 实现代码
    • 总结


主要内容是校设课程的习题和课外学习的一些习题。

欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中

题目

【Python习题】计算弓形的面积(保姆级图文+实现代码)_第1张图片

  • 题目
    如下图,AB 是圆的一条弦,ABC形成一个弓形,在两行中分别输入AB和CD的长度,计算并分两行依次输出该圆的半径和弓形ABC的面积,结果均严格保留小数点后2位有效数字,应用三角函数和反三角函数
  • 输入‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

分2行输入2个浮点数,表示 ABCD 的长度

  • 输出‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

在两行内分别输出半径和弓形面积

  • 示例‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

输入:
26.5
8
输出:
14.97
151.16


实现思路

AD2+DO2=A0**2=(CD+D0)**2=(A0-D0)**2
推得:

OA=(AD**2+CD**2)/(2*CD)

得到了半径剩下的就随便算了,扇形-三角新面积
【Python习题】计算弓形的面积(保姆级图文+实现代码)_第2张图片


实现代码

import math

AB=eval(input())
CD=eval(input())

AD=AB/2

OA=(AD**2+CD**2)/(2*CD)

r=OA
print(f"{r:.2f}")#得到了半径

AOB=2*math.asin(AD/OA)


# 扇形AOB的面积为
area_of_sector = AOB / (2*math.pi) * math.pi *OA**2

# 三角形 △AOB
area_of_triangle = 1 / 2 * OA**2 * math.sin(AOB)

# 弓形面积为扇形AOB面积减去三角形△AOB面积之差
area_of_arch = area_of_sector - area_of_triangle

print(f"{area_of_arch:.2f}")


总结

大家喜欢的话,给个,点个关注!给大家分享更多有趣好玩的Python习题!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2022 mzh

Crated:2022-3-1

欢迎关注 『Python习题』 系列,持续更新中
欢迎关注 『Python习题』 系列,持续更新中

【更多内容敬请期待】


你可能感兴趣的:(python,#,python习题,python)