Discuss / Python / <itertools>作业,基于个人目前知识的写法

<itertools>作业,基于个人目前知识的写法

Topic source

Gin阿金

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

#作业 import itertools

def pi(N): odd = itertools.count(1,2) n = itertools.takewhile(lambda x: x <= 2*N-1,odd) sum = 0 for i in n: if ((i+1)/2)%2.0 == 0.0: sum = sum- 4/i else: sum = sum + 4/i return sum

测试:

print(pi(10)) print(pi(100)) print(pi(1000)) print(pi(10000)) assert 3.04 < pi(10) < 3.05 assert 3.13 < pi(100) < 3.14 assert 3.140 < pi(1000) < 3.141 assert 3.1414 < pi(10000) < 3.1415 print('ok')


  • 1

Reply