Python2.X range()函數(shù)可創(chuàng)建一個(gè)整數(shù)列表,一般用在for循環(huán)中。
創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、茌平網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為茌平等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
Python3 range()函數(shù)返回的是一個(gè)可迭代對(duì)象,類型是對(duì)象,而不是列表類型,所以打印的時(shí)候不會(huì)打印列表。
Python3 list()函數(shù)是對(duì)象迭代器,可以把range()返回的可迭代對(duì)象轉(zhuǎn)為一個(gè)列表,返回的變量類型為列表。
Python2 range()函數(shù)返回的是列表。
Python range()函數(shù)語(yǔ)法
range(start, stop[,step])
參數(shù)說(shuō)明:
start:計(jì)數(shù)從start開(kāi)始,默認(rèn)是從0開(kāi)始;比如:range(5)等價(jià)于range(0,5)。
stop:計(jì)數(shù)到stop結(jié)束,但不包括stop;比如:range(0,5)是[0, 1, 2, 3, 4]沒(méi)有5。
step:步長(zhǎng),默認(rèn)為1;比如:range(0,5)等價(jià)于range(0,5,1)。
斐波那契數(shù)列指的是這樣一個(gè)數(shù)列 0, 1, 1, 2, 3, 5, 8, 13,特別指出:第0項(xiàng)是0,第1項(xiàng)是第一個(gè)1。從第三項(xiàng)開(kāi)始,每一項(xiàng)都等于前兩項(xiàng)之和。
# 判斷輸入的值是否合法
if nterms = 0:
print("請(qǐng)輸入一個(gè)正整數(shù)。")
elif nterms == 1:
print("斐波那契數(shù)列:")
print(n1)
else:
print("斐波那契數(shù)列:")
print(n1,",",n2,end=" , ")
while count nterms:
nth = n1 + n2
print(nth,end=" , ")
# 更新值
n1 = n2
n2 = nth
count += 1
平方與前后項(xiàng)
從第二項(xiàng)開(kāi)始(構(gòu)成一個(gè)新數(shù)列,第一項(xiàng)為1,第二項(xiàng)為2,……),每個(gè)偶數(shù)項(xiàng)的平方都比前后兩項(xiàng)之積多1,每個(gè)奇數(shù)項(xiàng)的平方都比前后兩項(xiàng)之積少1。如:第二項(xiàng) 1 的平方比它的前一項(xiàng) 1 和它的后一項(xiàng) 2 的積 2 少 1,第三項(xiàng) 2 的平方比它的前一項(xiàng) 1 和它的后一項(xiàng) 3 的積 3 多 1。
你看看你遞歸代碼的復(fù)雜度 是O(2^n) 而第二個(gè)的復(fù)雜度是O(n) 運(yùn)行效率當(dāng)然不同COUNTER = 0
def fibn(n):
global COUNTER
COUNTER += 1
if n == 0:
return 1
elif n == 1:
return 1
else:
return fibn(n-1) + fibn(n-2)
statistics = []
for i in range(35):
COUNTER = 0
fibn(i + 1)
statistics.append(((i + 1), COUNTER))
print statistics[(1, 1), (2, 3), (3, 5), (4, 9), (5, 15), (6, 25), (7, 41), (8, 67), (9, 109), (10, 177), (11, 287), (12, 465), (13, 753), (14, 1219), (15, 1973), (16, 3193), (17, 5167), (18, 8361), (19, 13529), (20, 21891), (21, 35421), (22, 57313), (23, 92735), (24, 150049), (25, 242785), (26, 392835), (27, 635621), (28, 1028457), (29, 1664079), (30, 2692537), (31, 4356617), (32, 7049155), (33, 11405773), (34, 18454929), (35, 29860703)]做了一個(gè)簡(jiǎn)單的proflieimport cProfile
import pstats
def fibn(n):
if n == 0:
return 1
elif n == 1:
return 1
else:
return fibn(n-1) + fibn(n-2)
print ' i, calls, time'
for i in range(50):
pr = cProfile.Profile()
pr.enable()
fibn(i)
pr.disable()
stats = pstats.Stats(pr)
stats.strip_dirs()
st = stats.stats[('test1.py', 3, 'fibn')]
print '%3d, %10d, %8f' % (i, st[1], st[3])
i, calls, time 0, 1, 0.000000 1, 1, 0.000001 2, 3, 0.000003 3, 5, 0.000005 4, 9, 0.000008 5, 15, 0.000012 6, 25, 0.000020 7, 41, 0.000033 8, 67, 0.000165 9, 109, 0.000088 10, 177, 0.000141 11, 287, 0.000228 12, 465, 0.000450 13, 753, 0.000601 14, 1219, 0.001016 15, 1973, 0.003561 16, 3193, 0.002593 17, 5167, 0.004372 18, 8361, 0.007097 19, 13529, 0.011073 20, 21891, 0.018552 21, 35421, 0.032467 22, 57313, 0.051762 23, 92735, 0.095383 24, 150049, 0.133490 25, 242785, 0.212390 26, 392835, 0.352861 27, 635621, 0.578204 28, 1028457, 0.987839 29, 1664079, 1.506812 30, 2692537, 2.682802 31, 4356617, 3.998936 32, 7049155, 8.089419 33, 11405773, 13.058235 34, 18454929, 23.930004 35, 29860703, 36.503880目測(cè)fibn(50)要算出來(lái)需要兩周
當(dāng)前標(biāo)題:python函數(shù)數(shù)列,python 行數(shù)列數(shù)
分享路徑:http://sd-ha.com/article46/dsesphg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站改版、網(wǎng)站營(yíng)銷、企業(yè)建站、微信公眾號(hào)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)