题目内容:
对于三角形,三边长分别为a, b, c,给定a和b之间的夹角C,则有:。编写程序,使得输入三角形的边a, b, c,可求得夹角C(角度值)。
输入格式:
三条边a、b、c的长度值,每个值占一行。
输出格式:
夹角C的值,保留1位小数。
输入样例:
3
4
5
输出样例:
90.0
code:
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,第一次提交的时候错了,要严格按题目要求保留一位小数才过的,不能样例过了就万事大吉。
补充知识:Python解题-计算sinx
题目
给定一个精度值e,用下列公式计算sin(x)的近似值,要求前后两次迭代之差的绝对值小于e,给出相应的最小迭代次数n和最后一次计算的sin(x)值。
sin x = x - x3/3! + x5/5! - x7/7! + … + (-1)n-1x2n-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三角函数公式计算三角形的夹角案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/184777/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)