下面是一個 Python 程序,它輸入一個正整數(shù) n,并計算 1 到 n 之間所有整數(shù)的平方根之和:
創(chuàng)新互聯(lián)服務緊隨時代發(fā)展步伐,進行技術革新和技術進步,經(jīng)過十年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設計師、專業(yè)的網(wǎng)站實施團隊以及高素質售后服務人員,并且完全形成了一套成熟的業(yè)務流程,能夠完全依照客戶要求對網(wǎng)站進行成都網(wǎng)站設計、成都網(wǎng)站制作、建設、維護、更新和改版,實現(xiàn)客戶網(wǎng)站對外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。
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 函數(shù)計算數(shù)字的平方根。我們使用一個循環(huán)來遍歷 1 到 n 之間的所有整數(shù),并將它們的平方根添加到變量 sum 中。最后,我們使用 print 函數(shù)輸出結果。
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循環(huán)完成
zs=0
for? i in range(1,11):
zs +=i**2
print(zs)
執(zhí)行結果:
385
此方法是常用算法,不能夠體現(xiàn)Python的優(yōu)美風格,簡單來說就是不夠Pythonic。
方法二:列表生成法
qh= [i**2 for i in range(1,11)]
zs=0
zs=sum(x for x in qh)
print(zs)
執(zhí)行結果:
385
此方法將占用大量的CPU和內存資源,如果計算的數(shù)量巨大的時候,會導致系統(tǒng)崩潰。
方法三:列表生成器法
zs=0
zs= sum(i**2 for i in range(1,11))
print(zs)
執(zhí)行結果:
385
最后這個方法是通過生成器求和,你不產(chǎn)生列表,對內存占用保持不變,不會導致系統(tǒng)崩潰。
當然Python不可能就這三種方法,你還能想到那些方法呢?
而且這個時候想要計算100,1000,10000的平方和,那也是非常簡單的事情。只要修改一下RANGE后面的結束值就可以了,計算結果分別如下:338350,333833500,333383335000。你能幫忙手動驗證一下嗎?
如果說你要計算的是立方和,也非常簡單,只要修改i**2為i**3。
________________END______________
名稱欄目:python計算平方和函數(shù) python 算平方
本文網(wǎng)址:http://www.rwnh.cn/article10/dosipdo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、標簽優(yōu)化、網(wǎng)站收錄、用戶體驗、商城網(wǎng)站、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)