使用Python三角函數(shù)公式計(jì)算三角形的夾角案例
題目?jī)?nèi)容:
對(duì)于三角形,三邊長(zhǎng)分別為a, b, c,給定a和b之間的夾角C,則有:。編寫(xiě)程序,使得輸入三角形的邊a, b, c,可求得夾角C(角度值)。
輸入格式:
三條邊a、b、c的長(zhǎng)度值,每個(gè)值占一行。
輸出格式:
夾角C的值,保留1位小數(shù)。
輸入樣例:
345
輸出樣例:
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 = xa = bsign = 1x2 = xjc = 1sin_x = bn = 2while 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 += 1print(n-2)print('%.9f' % sin_x)
以上這篇使用Python三角函數(shù)公式計(jì)算三角形的夾角案例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP使用MySQL數(shù)據(jù)庫(kù)的方法2. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作?!钡脑幃悊?wèn)題……3. 解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯(cuò)誤頁(yè)的問(wèn)題4. xml中的空格之完全解說(shuō)5. WMLScript的語(yǔ)法基礎(chǔ)6. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法7. XML入門(mén)的常見(jiàn)問(wèn)題(四)8. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法9. html小技巧之td,div標(biāo)簽里內(nèi)容不換行10. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享
