Python如何在while循环中实现斐波那契数列每行输出5个数字
实现代码
推荐写法(直接生成前100项,无需硬编码目标数值)
a = 0 b = 1 counter = 0 # 循环100次直接生成前100项斐波那契数 for _ in range(100): counter += 1 # 控制输出格式:前4个用空格分隔,第5个结尾换行 print(b, end=" " if counter < 5 else "\n") if counter == 5: counter = 0 # 更新斐波那契数列数值 a, b = b, a + b
适配原有while逻辑的写法
如果希望保留原有while数值判断逻辑,可直接把计数器嵌入原有循环即可:
a = 0 b = 1 c = 354224848179261915075 counter = 0 while b <= c: counter += 1 print(b, end=" " if counter < 5 else "\n") if counter == 5: counter = 0 a, b = b, a + b
逻辑说明
- 两种写法都保留了原有斐波那契数列的计算逻辑,仅新增了输出格式控制的计数器
- 推荐写法不需要提前确认第100项斐波那契数的具体值,通用性更强,也避免数值写错的问题
内容的提问来源于stack exchange,提问作者Tyler
相关产品推荐
相关产品推荐

