计算多项式的值

描述

对于多项式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次方。

posted @ 2020-09-10 09:53  Lets-learning  阅读(836)  评论(0)    收藏  举报