Python生成器、实现斐波那契数列

Python生成器、实现斐波那契数列

"""
	生成器
	按照一定规则不断产生新元素的对象
    无法直接输出生成器里面的内容
    生成器保存的是数据的算法/规则,每一次调用产生一个
    生成器创建使用yield关键字
        函数可以有返回值,返回值返回给调用者
        yield 跟return功能类似,
            return直接返回直观结果
            yield返回给调用者的不是直观结果,是数据存取的算法、规则
            
     可以使用next()函数调用生成器对象里面的内容
     也可以使用for 循环遍历生成器对象
"""

简单的生成器

generator00 = (x for x in range(10))
print(generator00)

生成器函数

def get_generator(list00):
    for i in list00:
        yield i

list00 = [“炳钿”, “京城”, “诗清”, “俊凯”, “惠玲”, “志钰”,]

创建生成器对象

name_generator = get_generator(list00)

输出生成器内容

# 使用next调用
print(next(name_generator))
print(next(name_generator))
print(next(name_generator))
print("la")
print("la")
print("la")
print("la")
print("la")
print(next(name_generator))

# 使用for循环遍历
for namein name_generator:
	print(name)

Python生成器实现斐波那契数列

斐波那契数列
a = 0   # 月份
b = 0   # 小兔子个数
c = 1   # 成年兔子

while a < 10:
    b, c = c, b + c
    print(b)
    a += 1

调用函数

fib_generator = fib(10)
print("*" * 20)
print(next(fib_generator))
print(next(fib_generator))
print(next(fib_generator))
print(next(fib_generator))
print(next(fib_generator))
print(next(fib_generator))
print(next(fib_generator))
print(next(fib_generator))

输出结果:

********************
1
1
2
3
5
8
13
21

猜你喜欢

转载自blog.csdn.net/dushine2008/article/details/85338565