斐波那契数列的定义:如果设F(n)为该数列的第n项(n∈N*),那么这句话可以写成如下形式::F(n)=F(n-1)+F(n-2)
一个数列的前两项的和是第三项
用于生成一个有一定关系的序列
列表(或是元祖)生成器:
a = [x**2 for x in range(10)]
for aa in a:
print(aa)
输出结果:
0
1
4
9
16
使用函数定义生成器:
def odd():
print("step1")
yield 1
print("step2")
yield 3
print("step")
yield 5
o=odd()
o.__next__()
o.__next__()
# 输出结果:
step1
step2
注:一个函数的执行结束的判定是遇到return或是函数执行到函数末尾最后一行,而生成器的的执行过程和函数的执行过程不一样, 而变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。创建一个生成器函数,用于生成斐波那契数列
def hehe():
a = 1
b = 1
n = 0
while n<10:
yield b
a,b =b,a+b
n+=1
print(b)
for x in hehe():
pass
输出结果:
2
3
5
8
13