我正在嘗試更好地理解python中的函式,并決定嘗試將斐波那契數列自動化。這是我到目前為止的代碼,但它沒有做它應該做的事情。我不明白為什么它不能作業。誰能指出我的錯誤呢?
我使用停止變數作為明確的停止,而長度變數則告訴程式我希望它能執行多遠的代碼。下面是我的代碼:
length = 6.
停止 = 10
def append_sum(lst)。
while length <= stop:
return lst.append(lst[-1] lst[-2] )
print(append_sum([1, 1, 2)] )
uj5u.com熱心網友回復:
對于這樣的事情,我只會在谷歌上搜索。
a = int(input('Give amount: '/span>))
def fib(n)。
a, b = 0, 1
for _ in range(n)。
yield a
a, b = b, a b
print(list(fib(a))
結果:
給出金額。10
[0, 1, 1, 2, 3。5, 8, 13, 21, 34]
uj5u.com熱心網友回復:
你的代碼中的長度變數并沒有改變,所以停止并不是因為這個原因。另外,即使它起了作用,你在進入while函式后回傳串列,所以它最多只會進行一次迭代。 lst.append()將改變串列,但不會回傳它的副本,所以,你不能回傳 lst.append()
。轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/326637.html
標籤:
