Discuss / Python / 一步一步的慢慢来

一步一步的慢慢来

Topic source
def pi(N):
    #计算pi的值
    # step 1: 创建一个2*N的自然数序列
    natures = itertools.count(1)
    nature = list(itertools.takewhile(lambda x: x <= 2*N, natures))
    odd = []
    # step 2: 取该序列的奇数项: 1, 3, 5, 7, 9, ..., 2*N-1.
    for i in nature:
        if i % 2 == 1 :
            odd.append(i)
    # step 3: 添加正负符号并用4除: 4/1, -4/3, 4/5, -4/7, 4/9, ...
    sumlist = []
    for i in range(N):
        if i % 2 == 0 :
            sumlist.append(4/odd[i])
        else:
            sumlist.append(-4/odd[i])
    # step 4: 求和:
    pi = sum(sumlist)
    return pi

  • 1

Reply