python,用while循环语句,算π的近似值,公式用π/
python3吧
全部回复
仅看楼主
level 7
翎言0829✆ 楼主
python,用while循环语句,算π的近似值,公式用π/4=1-1/3+1/5-1/7+1/9
直到最后一项的绝对值小于10^-6为止
所以,有人知道吗?
2019年04月03日 11点04分 1
level 3
x = [x for x in range(1,1000000,2)]
i = 0 # x的索引
pi = 0 # 保存pi的近似值
while i < len(x):
if i % 2 == 0:
pi+=x[i]**(-1)
else:
pi-=x[i]**(-1)
i+=1
print("++++++++++++++++++++++")
Pi = 4*pi
print(Pi)
2019年04月03日 14点04分 2
level 7
pi = 0
i = 1 #控制分母
j = 1 #控制符号
while True:
缩进temp = 1 / i * j
缩进if abs(temp) < pow(10,-6):break
缩进pi += temp
缩进i += 2
缩进j *= -1
pi *= 4
print('pi =',pi)
2019年04月03日 15点04分 4
谢谢,我试过了,是对的。 但我有点没看懂,能讲一下吗?
2019年04月07日 12点04分
temp =1/i*j 是什么?
2019年04月07日 12点04分
@翎言0829✆ 是指最后一项吗?
2019年04月07日 12点04分
@翎言0829✆ i作为每一项的分母,每次循环分母加2,第一项可以看做分母是1
2019年04月07日 12点04分
level 5
你们是多无聊。。算π。。如果你们电脑吊当我没说。。。
2019年04月07日 12点04分 5
老师要求做啊,我也没办法……
2019年04月07日 12点04分
同感
2020年04月09日 07点04分
level 1
我也不会
2020年03月22日 06点03分 6
level 1
import time
def jishuan_pai(jingdu=0.000001,dayin_xiangxi_neirong=True,shiji_dyin=True):
print('值正在计算,时间可能较长,请耐心等待')
t1=time.time()
a=1
pai_1_4=0
fuhao=-1
cishu=1
while a >= jingdu:
zf = fuhao ** (cishu + 1)
if dayin_xiangxi_neirong==True:
print(zf,2*cishu-1,a,pai_1_4)
a=1/(2*cishu-1)
pai_1_4+=zf*a
cishu += 1
print(4*pai_1_4)
t2=time.time()
if shiji_dyin==True:
print('总共耗时: {} 秒'.format(t2-t1))
for i in [0.00001,0.000001,0.0000001,0.00000001]:
print('精度值为:',i)
jishuan_pai(i,False,True)
# i为精度,第二个为是否打印具体信息(要则填写 True),
# 第三个为是否打印计算耗时(要则填写 True)
print('*'*40)
2020年12月16日 08点12分 7
level 1
2020年12月16日 08点12分 8
level 1
store = 1
flag = -1
for n in range(1, 10 ** 10):
n = 2 * n + 1
m = 1 / n * flag
flag *= -1
if abs(m) > 10 ** -6:
store += m
else:
print("π值≈", store)
break
2021年11月17日 12点11分 9
level 1
新建的了一个群可以解决问题群 203402379
2021年11月21日 16点11分 10
1