我正在學習python編程,我遇到了一些混亂。我發現這個代碼是通過用戶輸入的開始和結束數來計算斐波那契數列的。有人可以解釋這些代碼的工作原理嗎斐波那契在python中 - 可以解釋範圍之間的斐波那契數是如何工作的嗎?
def fib(lowerbound, upperbound):
x = 0
y = 1
while x <= upperbound:
if (x >= lowerbound):
yield x
x, y = y, x + y
startNumber = 10
endNumber = 100
for fib_sequence in fib(startNumber, endNumber):
print "And the next number is... %d!" % fib_sequence
投票結果不清楚你問的是什麼。 「解釋此代碼中的每一行」不是一個主題問題。我應該開始解釋'x = 0'是什麼嗎? – timgeb
它計算斐波那契數字直到上限,但只有在數字大於下限後纔開始屈服。問題是什麼? 'x,y = ...'線如何工作?或者「收益」呢? –
基本的循環應該很清楚。現在,假設'yield x'是'print x'。那麼它會清楚地打印下邊界和上邊界之間的斐波納契數字,對吧?好吧,「收益率」是做什麼的?它使'fib'成爲一個發生器,根據需要一次產生相同的值。結果可以在任何需要迭代器的地方使用。如果這讓你感到困惑,那麼我建議閱讀關於發電機的信息。 –