Discuss / Python / 斐波那契数列

斐波那契数列

Topic source

猪头斐

#1 Created at ... [Delete] [Delete and Lock User]

受上文练习题答案启发,斐波那契数列也可以这么写:

def fib():
    f = [1,]
    yield f
    while True:
        f = f + [f[len(f)-1]+f[len(f)-2]]
        yield f

主函数:

from fib import fib
n = 0
for f in fib():
    print(f)
    n = n + 1
    if n == 10:
        break

Henry_Smith

#2 Created at ... [Delete] [Delete and Lock User]

按你的这個说写法,出来的结果明显不是斐波拉契数列。

def fib(): ... f = [1,] ... yield f ... while True: ... f = [f[len(f)-1]+f[len(f)-2]] ... yield f ... n = 0 for f in fib(): ... print(f) ... n = n + 1 ... if n == 10: ... break ... [1] [2] [4] [8] [16] [32] [64] [128] [256] [512]


  • 1

Reply