1. 程式人生 > 實用技巧 >計算多項式的值

計算多項式的值

描述

對於多項式f(x) = ax3+ bx2+ cx + d 和給定的a, b, c, d, x,計算f(x)的值。

輸入輸入僅一行,包含5個實數,分別是x,及引數a、b、c、d的值,每個數都是絕對值不超過100的雙精度浮點數。數與數之間以一個空格分開。輸出輸出一個實數,即f(x)的值,保留到小數點後7位。樣例輸入

2.31 1.2 2 2 3

樣例輸出

33.0838692

1 x,a,b,c,d=[float(i) for i in input().split()]
2 print("%.7f" % (a*x**3+b*x**2+c*x+d))

說明:

a,b=c,d複製的實際是講一個列表賦值給了a,b。如:

>>> l=[1,2]
>>> a,b=l
>>> a
1
>>> b
2

而程式碼第1行就是將一個列表賦值給了5個變數


[float(i) for i in input().split()]是應用for...in 語句產生一個列表,如:

>>> l=[i for i in range(10)]
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l=[i*i+2*i for i in range(10)]
>>> l
[0, 3, 8, 15, 24, 35, 48, 63, 80, 99]

  還可以用for...in...if語句來產生一個列表,如:

>>> l=[i for i in range(10) if i%2==0]
>>> l
[0, 2, 4, 6, 8]

  而float()是將字串轉變成了實數。如:

>>> float('3.1415926')
3.1415926
>>> float(10)
10.0

  “**”是求冪。如x**y就是求x的y次方。