私はlearnpython.orgでpythonを学んでいます。基本的なクラスはすべて問題なく完了しましたが、ジェネレーター レベルで問題が発生しています。
コマンドの仕組みは理解できたと思いますが、このyield
コマンドを使用してレッスンを完了するために必要なフィボナッチ数列を取得する方法がわかりません。これが私のコードですが、最初の2つの数字しか得られません。
# fill in this function
def fib():
a,b = 1,0 # Sets the values (is this causing a problem?)
yield a # Sends back the value of a to the iterator (for loop)
b = a + b # Sets the value of b to a + b
yield b # Sends back the value of b to the iterator (for loop)
# testing code
import types
if type(fib()) == types.GeneratorType:
print "Good, The fib function is a generator."
counter = 0
for n in fib():
print n
counter += 1
if counter == 10:
break
このレベルを完了したいのですが、方法がわかりません。