You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python新手求助:输出数字每5个换行功能实现失败

问题:Python实现每5个数字输出后换行

期望输出格式:

123 199 322 521 843
1364 2207 3571 5778 9349
...

原代码(输出为一行连续数字):

a,b=3,4

while (b<=1000000):
    if b>= 100 and b<=1000000:
        print(b, end = ' ')
    a,b = b,a+b

修改后代码(仍为一行输出):

while (b<=1000000):
    if b>= 100 and b<=1000000:
        print(b, end = '\n' if b % 5 == 0 else " ")
    a,b = b,a+b

问题原因

你用b % 5 == 0判断是否换行,这里的b是数列里的数值,不是已输出数字的个数。只有当数值本身是5的倍数时才会换行,而非每输出5个数字就换行,完全不符合需求。

解决方案

添加一个计数器变量,每输出一个符合条件的数字就让计数器加1,再通过计数器判断是否为5的倍数来决定换行。代码如下:

a, b = 3, 4
count = 0  # 初始化计数器

while b <= 1000000:
    if 100 <= b <= 1000000:
        print(b, end=' ')
        count += 1
        # 每输出5个数字换行
        if count % 5 == 0:
            print()
    a, b = b, a + b

如果想优化每行末尾多余空格的问题,可以先收集所有符合条件的数字,再按每5个一组格式化输出:

a, b = 3, 4
nums = []

while b <= 1000000:
    if 100 <= b <= 1000000:
        nums.append(str(b))
    a, b = b, a + b

# 每5个数字为一组输出
for i in range(0, len(nums), 5):
    print(' '.join(nums[i:i+5]))

这种方式输出的格式更工整,不会在每行末尾留下多余空格。

内容的提问来源于stack exchange,提问作者spiderman3323

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 01:41:17