溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Python三角函數(shù)公式計(jì)算三角形的夾角

發(fā)布時(shí)間:2020-08-03 11:54:50 來(lái)源:億速云 閱讀:474 作者:小豬 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了如何使用Python三角函數(shù)公式計(jì)算三角形的夾角,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

題目?jī)?nèi)容:

對(duì)于三角形,三邊長(zhǎng)分別為a, b, c,給定a和b之間的夾角C,則有:。編寫程序,使得輸入三角形的邊a, b, c,可求得夾角C(角度值)。

輸入格式:

三條邊a、b、c的長(zhǎng)度值,每個(gè)值占一行。

輸出格式:

夾角C的值,保留1位小數(shù)。

輸入樣例:

3
4
5

輸出樣例:

90.0

code:

import math
 
a = float(eval(input('請(qǐng)輸入a的邊長(zhǎng)')))
b = float(eval(input('請(qǐng)輸入b的邊長(zhǎng)')))
c = float(eval(input('請(qǐng)輸入c的邊長(zhǎng)')))
print round(math.acos((a*a+b*b-c*c)/(2*a*b))*180/math.pi,1)

這個(gè)算小白題了,剛剛接觸Python,第一次提交的時(shí)候錯(cuò)了,要嚴(yán)格按題目要求保留一位小數(shù)才過(guò)的,不能樣例過(guò)了就萬(wàn)事大吉。

補(bǔ)充知識(shí):Python解題-計(jì)算sinx

題目

給定一個(gè)精度值e,用下列公式計(jì)算sin(x)的近似值,要求前后兩次迭代之差的絕對(duì)值小于e,給出相應(yīng)的最小迭代次數(shù)n和最后一次計(jì)算的sin(x)值。

sin x = x - x3/3! + x5/5! - x7/7! + … + (-1)n-1x2n-1/(2n-1)!

其中x為弧度,n為正整數(shù)。

【輸入形式】

從控制臺(tái)輸入x( (0<x<=10) )和e( x>e>0 )的值,以一個(gè)空格分隔。

【輸出形式】

輸出迭代次數(shù)n和最后一次計(jì)算的sin(x)的值(以一個(gè)空格分隔,并且輸出sin(x)時(shí)要求小數(shù)點(diǎn)后保留9位有效數(shù)字)。

思路

從公式看,每次疊加x^2和(2n-1)*(2n-2),用while來(lái)保證精度達(dá)標(biāo),最后轉(zhuǎn)換9位小數(shù)

代碼

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: #一定是絕對(duì)值,a,b一正一負(fù)所以直接加就是差值
  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)

看完上述內(nèi)容,是不是對(duì)如何使用Python三角函數(shù)公式計(jì)算三角形的夾角有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI