Discuss / Python / 我这应该是最基础最笨的写法了,哈哈哈

我这应该是最基础最笨的写法了,哈哈哈

Topic source

Meng。

#1 Created at ... [Delete] [Delete and Lock User]

def pi(N):

    js = [] #创建空的奇数list

    na = itertools.count(1) #创建一个无限的自然数序列

    ns = itertools.takewhile(lambda x: x <= N*2, na) #截取前2N个自然数

    for i in ns:

        if i % 2 == 1:

            js.append(i) #将选取的奇数加入list

    qnx = js[:N] #截取前N个奇数

    zs_sum = 0

    fs_sum = 0

    for i in range(N):

        if i % 2 == 0:

            zs_sum = zs_sum + 4/qnx[i]  #所有正数的求和

        else:

            fs_sum = fs_sum + (-4/qnx[i]) #所有负数的求和

    return zs_sum + fs_sum  #返回pi的值


  • 1

Reply