# 第一种方式 def pi(n): natuals = itertools.count(1, 2) natuals = itertools.takewhile(lambda x: x < (n * 2), natuals) result = 0 index = 0 for item in natuals: if 0 == index % 2: result += 4 / item else: result -= 4 / item index += 1 return result # 第二种方式 def pi(n): natuals = itertools.count(1, 2) natuals = itertools.takewhile(lambda x: x < (n * 2), natuals) offsets = itertools.cycle([1, -1]) result = 0 for item in natuals: result += 4 * next(offsets) / item return result
Sign in to make a reply
有人不知道是谁