扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
下面是一个 Python 程序,它输入一个正整数 n,并计算 1 到 n 之间所有整数的平方根之和:
创新互联服务紧随时代发展步伐,进行技术革新和技术进步,经过十年的发展和积累,已经汇集了一批资深网站策划师、设计师、专业的网站实施团队以及高素质售后服务人员,并且完全形成了一套成熟的业务流程,能够完全依照客户要求对网站进行成都网站设计、成都网站制作、建设、维护、更新和改版,实现客户网站对外宣传展示的首要目的,并为客户企业品牌互联网化提供全面的解决方案。
import math
n = int(input("Enter a positive integer: "))
# 计算平方根之和
sum = 0
for i in range(1, n+1):
sum += math.sqrt(i)
print("Sum of square roots from 1 to", n, ":", sum)
在这个程序中,我们使用 math 库中的 sqrt 函数计算数字的平方根。我们使用一个循环来遍历 1 到 n 之间的所有整数,并将它们的平方根添加到变量 sum 中。最后,我们使用 print 函数输出结果。
def fun(num):
total = 0
for i in range(1, num+1):
total += i**2
return total
n = int(input('请输入n:'))
print('平方和为:', fun(n))
计算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______________
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流