Python实现三角形夹角计算与正弦函数迭代求解

陈默
陈默
发布时间:2026-10-13 | 5人浏览过
原创

本文介绍如何使用Python通过余弦定理根据三边长计算三角形夹角,并详细解析利用泰勒级数迭代计算sinx近似值的算法。内容涵盖输入输出格式规范、保留小数位数的处理技巧,以及保证迭代精度的循环逻辑实现,适合Python初学者参考。

三角形夹角计算案例

题目要求:

已知三角形的三条边长分别为a、b、c,且已知边a与边b之间的夹角为C。根据几何关系,编写程序接收三角形的三边长度a、b、c作为输入,计算并输出夹角C的角度值。

输入格式说明:

分别输入三条边a、b、c的数值,每个数值独占一行。

输出格式说明:

输出计算得到的夹角C的值,结果需保留1位小数。

输入示例:

3 4 5

输出示例:

90.0

代码实现:


import math
 
a = float(eval(input('请输入a的边长')))
b = float(eval(input('请输入b的边长')))
c = float(eval(input('请输入c的边长')))
print round(math.acos((a*a+b*b-c*c)/(2*a*b))*180/math.pi,1)

这是一道基础练习题。对于刚接触Python的开发者,初次提交时容易因格式问题出错。务必严格遵循题目要求,确保输出结果保留一位小数,仅通过样例测试并不足以保证完全正确。

sinx泰勒级数迭代计算

扩展知识:Python中利用迭代法计算sinx

问题描述

给定一个精度阈值e,使用泰勒公式计算sin(x)的近似值。要求前后两次迭代结果的绝对差值小于e,输出满足条件的最小迭代次数n以及最后一次计算得到的sin(x)值。

公式为:sin x = x - x^3/3! + x^5/5! - x^7/7! + … + (-1)^(n-1)x^(2n-1)/(2n-1)!

其中x为弧度制数值,n为正整数。

【输入要求】

从控制台读取x(0 < x <= 10)和e(x > e > 0)两个数值,两者之间以空格分隔。

【输出要求】

输出迭代次数n和最终计算的sin(x)值,中间以空格分隔。注意:输出sin(x)时需保留小数点后9位有效数字。

解题思路

观察泰勒公式,每次迭代需累加x^2项,并将分母乘以(2n-1)*(2n-2)。使用while循环持续迭代直至精度达标,最后将结果格式化为9位小数输出。

参考代码


x, e = input().split()
x = float(x)
e = float(e)
b = x
a = b
sign = 1
x2 = x
jc = 1
sin_x = b
n = 2
while abs(a+b)>e: #一定是绝对值,a,b一正一负所以直接加就是差值
  a = b
  sign *= -1
  x2 *= x * x
  jc *= (2 * n - 1) * (2 * n - 2)
  b = sign * x2 / jc
  sin_x += b
  n += 1
print(n-2)
print("%.9f" % sin_x)

以上介绍了使用Python通过三角函数公式计算三角形夹角及sinx近似值的案例,供读者参考。如有更多疑问,欢迎持续关注本站获取技术支持。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表