def pi(N):
jishu = itertools.count(1,2) qianxiang = itertools.takewhile(lambda x : x < 2*N,jishu)
zhengfu = itertools.cycle([4,-4])
l = list(zip(zhengfu,qianxiang))
result = 0
for i in range(N):
result += l[i][0]/l[i][1]
return result
takewhile好像只能当次有效,要用变量赋值保存下来
天命破凰
import itertools
def pi(N): jishu = itertools.count(1,2)
qianxiang = itertools.takewhile(lambda x : x < 2*N,jishu) zhengfu = itertools.cycle([4,-4]) l = list(zip(zhengfu,qianxiang)) result = 0 for i in range(N): result += l[i][0]/l[i][1] return result takewhile好像只能当次有效,要用变量赋值保存下来