无限项斐波那契数列(生成器+itertools.islice方法实现任意项输出)
我的CSDN主页My Python 学习个人备忘录我的博文推荐生成器复习:无限项斐波那契数列 看了齐老的新书“先睹为快”文章《Python生成器》,得练习练习。题目代码运行效果完整代码练习题目回首页代码运行效果回首页python完整代码(如果从语句注释不能清楚作用,请评论区留言指教和探讨。????)# coding: utf-8'''生成器练习:无限项斐波那契数列'''def fib_yiel
·
生成器复习:无限项斐波那契数列
看了齐老的新书“先睹为快”文章《Python生成器》,得练习练习。
先在命令行模式下,炼炼……
基本熟练起来,上编辑器,写*.py。
齐老文章《Python生成器》截屏
python完整代码
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)
跑跑代码看看效果
再加上几个“大”项试试……
完整代码
# coding: utf-8
'''生成器练习:无限项斐波那契数列'''
def fib_yield():
front, back = 0, 1 #初始化斐波那契数列前两项。
while True: #无限循环。
yield front #生成器语句返回前项。
front, back = back, front + back #对接下来的前项和后项赋值。
if __name__=='__main__':
import itertools #加载模块,要用itertools.islice(list, n)取无限项斐波那契数列的前n项列表。
nums = 1, 5, 8, 9, 10, 98, 99, 100 #预设示例取值项n。
for i in nums: #遍历取值元组前n项斐波那契数列。
#插值字符串格式化输出遍历取得列表最后一项。
print(f'\n\n{"裴波那契数列":.^36}\n\n{"第":>12}{i:2}项:{list(itertools.islice(fib_yield(), i))[-1]}\n\n{"The End":_^42}\n')
我前面有用递归和 for 写过,留有学习笔记 《斐波那契数列的递归实现和for实现》。
我的博文推荐:
- 排序数组中查找元素的重复起止位置(当前阅读1194)
- 柱状图中最大矩形(当前阅读1595)
- 电话拨号键盘的字母组合(当前阅读1206)
- 密码强度检测器(当前阅读1662)
- 求列表平衡点(当前阅读1694)
- 字符串统计(当前阅读1653)
- 尼姆游戏代码优化版(当前阅读815)
- 尼姆游戏(聪明版首发)(当前阅读3230)
推荐条件 点阅破千
参考文章:
- 苏大齐伟齐老文章《详解 Python 生成器》
上一篇: 练习:三数之和
下一篇:

精品文章:
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室
CSDN实用技巧博文:

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)