用python写用公式π/ 4 = 1 – 1 / 3 + 1 / 5 – 1 / 7 + … 求π的近似值,直到最后一项的绝对值小于10的负6次方为止。
时间: 2023-09-29 15:11:22 浏览: 75
这个公式实际上是莱布尼茨级数,可以用以下代码来实现:
```python
import math
pi = 0
n = 1
sign = 1
while True:
term = sign / n
if abs(term) < 1e-6:
break
pi += term
sign = -sign
n += 2
pi *= 4
print(pi)
print(math.pi)
```
其中,变量`pi`表示我们估算出的π值,`n`表示当前项的分母,`sign`表示当前项的符号(正负交替),`term`表示当前项的值。
在循环中,我们不断计算新的项,如果当前项的绝对值小于10的负6次方,就退出循环。最后,我们将计算出的`pi`乘以4,得到最终的估算值,并将其与Python内置的π值进行比较。
相关问题
Python利用公式π/4=1-1/3+1/5-1/7……求π
这个公式实际上是莱布尼茨级数,可以用Python代码实现求π的近似值:
```python
import math
n = 1000000
pi = 0
for i in range(n):
pi += ((-1) ** i) / (2 * i + 1)
pi *= 4
print("π的近似值为:", pi)
print("π的精确值为:", math.pi)
```
这里的变量n表示级数求和的项数,我们可以通过增大n的值来提高π的计算精确度。当n取1000000时,可以得到π的近似值为3.1415916535897743,与π的精确值3.141592653589793相差不到0.000001。
求π的近似值的公式是 π/4=1-1/3+1/5-1/7+1/9-1/11 设π/4=1是第1项,请输出加到第n项的值,并4舍5入保留4位n是由input输入的正整数。python
代码如下:
```python
n = int(input())
sum = 0
for i in range(1,n+1):
if i%2 == 1:
sum += 1/(2*i-1)
else:
sum -= 1/(2*i-1)
result = round(sum*4, 4)
print(result)
```
运行结果:
```
输入:10
输出:3.0418
```
解释:当 n=10 时,π/4=1-1/3+1/5-1/7+1/9-1/11,将前 10 项加起来并乘以 4,得到近似值为 3.0418。
阅读全文