代码改变世界

作业5

2018-09-29 12:03  cqchenqin  阅读(200)  评论(0编辑  收藏  举报
# 数列:a1,a2,a3 ,·····,an/b1,b2,b3 ,·····,bn,求:c = a12+b13,a22+b23,a32+b33,·····+an2+bn3
# 1.用列表+循环实现,并包装成函数
def pySum(n):
a1 = list(range(n))
b1 = list(range(0,3*n,3))
c1 = []
for i in range(len(a1)):
c1.append(a1[i]**2+b1[i]**3)
return (c1)
print(pySum(99))
# 2.用numpy实现,并包装成函数
import numpy
def nySum(n):
a = numpy.arange(n)
b = numpy.arange(n)
c = a**2 + b**3
return(c)
# 3.对比两种方法实现的效率,给定一个较大的参数n,用运行函数前后的timedelta表示。
from datetime import datetime,timedelta
start1 = datetime.now()
pySum(100000)
delta1 = datetime.now()-start1
print(delta1)

import numpy
start2 = datetime.now()
nySum(100000)
delta2 = datetime.now()-start2
print(delta2)