计算1-10的平方之和,下面是我手算的。如果是求100,1000,10000呢?手算要到什么时候。下面学习用Python计算,并且是3种不同的方法。
创新互联建站是一家专注于网站制作、做网站与策划设计,浔阳网站建设哪家好?创新互联建站做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:浔阳等地区。浔阳做网站价格咨询:028-86922220
方法一:通过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______________
def fun(num):
total = 0
for i in range(1, num+1):
total += i**2
return total
n = int(input('请输入n:'))
print('平方和为:', fun(n))
在python中有多种方法可以求一个数的平方和,可以使用:内置模块、表达式、内置函数等实现。
1、使用内置模块math
求4的平方
import mathmath.pow(4,2)
2、使用表达式法
计算4的平方
4 ** 2
3、使用内置函数
计算4的平方
pow(4,2)
Python代码 import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()ax = Axes3D(fig)X = np.arange(-4, 4, 0.25)Y = np.arange(-4, 4, 0.25)X, Y = np.meshgrid(X, Y)R = np.sqrt(X**2 + Y**2)Z = np.sin(R)ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='hot')plt.show() 运行结果: