自学Python:三种方法计算平方和

Python046

自学Python:三种方法计算平方和,第1张

计算1-10的平方之和,下面是我手算的。如果是求100,1000,10000呢?手算要到什么时候。下面学习用Python计算,并且是3种不同的方法

方法一:通过FOR循环完成

zs=0

for  i in range(1,11):

    zs +=i**2

print(zs)

执行结果:

385

此方法是常用算法,不能够体现Python的优美风格,简单来说就是不够Pythonic。

方法二:列表生成法

qh= [i**2 for i in range(1,11)]

zs=0

zs=sum(x for x in qh)

print(zs)

执行结果:

385

此方法将占用大量的CPU和内存资源,如果计算的数量巨大的时候,会导致系统崩溃。

方法三:列表生成器法

zs=0

zs= sum(i**2 for i in range(1,11))

print(zs)

执行结果:

385

最后这个方法是通过生成器求和,你不产生列表,对内存占用保持不变,不会导致系统崩溃。

当然Python不可能就这三种方法,你还能想到那些方法呢?

而且这个时候想要计算100,1000,10000的平方和,那也是非常简单的事情。只要修改一下RANGE后面的结束值就可以了,计算结果分别如下:338350,333833500,333383335000。你能帮忙手动验证一下吗?

如果说你要计算的是立方和,也非常简单,只要修改i**2为i**3。

________________END______________

用range生成1~n

然后用列表表达式生成1/n平方

然后求和

sum([1/pow(n,2) for n in range(1, 10)])

在python中有多种方法可以求一个数的平方和,可以使用:内置模块、表达式、内置函数等实现。1、使用内置模块math求4的平方import mathmath.pow(4,2)2、使用表达式法计算4的平方4 ** 23、使用内置函数计算4的平方pow(4,2)