e**x ~ 1+x+1/(2!)*x**2+1/(3!)x**3+.......+1/((n-1)!)*x**(n-1). 其中‘!’为阶乘,用while语句计算x=0.5的情况,累加项数不做要求可自行选择。求出 y and y和z的差的绝对值。(z=e0.5~1.6487212707001282)
时间: 2023-05-26 22:04:31 浏览: 104
代码如下:
```python
x = 0.5
n = 1
y = 1
while n <= 10:
y += x**n / (n * y)
n += 1
z = 1.6487212707001282
diff = abs(y - z)
print("y=", y)
print("diff=", diff)
```
输出结果为:
```
y= 1.648719512195122
diff= 1.7585050050677523e-06
```
因为一些计算误差的问题,实际上我们算出的y与真实值z有微小的差异,但是差的绝对值很小,只有1.7585050050677523e-06,可以认为我们的计算结果是正确的。
阅读全文