import itertools,logging logging.basicConfig(level=logging.INFO) def pi(N): natuals = itertools.count(1) nums = itertools.cycle((4,-4)) def pi_series(): while True: yield (next(natuals),next(nums)) new_pi_series=list(itertools.takewhile( lambda x: abs(x[0])<= N, pi_series())) logging.info('the calc series is = %s' % str(new_pi_series[:2])+'<head-tail>'+str(new_pi_series[-2:])) pi_finite=0 for nat, num in new_pi_series: pi_finite=pi_finite+(num/(2*nat-1)) logging.info('the calculated pi is %s' % pi_finite) return pi_finite
Sign in to make a reply
Phioton