Discuss / Python / next()

next()

Topic source

Unicode9

#1 Created at ... [Delete] [Delete and Lock User]
def pi(n):
    odds = itertools.takewhile(lambda x: x < 2 * n, itertools.count(1, 2))    
    fac = itertools.cycle([1, -1])    
    sum = 0   
    for i in odds:
        sum += 4 * next(fac) / i
    return sum

可以回顾一下迭代器的相关内容

qsls

#2 Created at ... [Delete] [Delete and Lock User]
fac = itertools.cycle([1, -1])

这个好,给你点个赞

Struggle

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

大佬太强了 简洁明了

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

这个return 真能返回sum的值吗

参考了一下你的代码

import itertools
def pi(N):
    sum, fac = 0, itertools.cycle([1, -1])
    for i in itertools.takewhile(lambda x: x < 2*N, itertools.count(1, 2)):
        sum += 4 / i * next(fac)
    return sum

  • 1

Reply