if print(list(ns))
is added, the result is 50
, while if print(list(ns))
is deleted, the result is 0
, why?
import itertools
def PI(N):
natuals = itertools.count(1,2) #start=1,step=2
ns = itertools.takewhile(lambda x: x <= 2*N-1, natuals)
#print(list(ns))
na = map(lambda x: x/2, ns)#(-1)**(y//2)*4/y
return sum(na)
if __name__ == '__main__':
print(PI(10))