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

Python代码输出异常图案排查:目标与实际输出不符

图案输出异常原因及修正

目标图案说明

目标是实现每行数字序列从0开始递增,同时每行缩进依次增加2个空格,数字序列长度逐行减1的图案:

0123456789
  012345678
    01234567
      0123456
        012345
          01234
            0123
              012
                01
                  0

你的代码

limit = 10
for i in range(1, 12):
    for j in range(i):
        print(" "*j, end="")

    if limit >= 0:
        for j in range(0, limit):
            print(j, end="")

    limit -= 1
    print()

异常原因分析

  1. 缩进逻辑错误:你用嵌套循环for j in range(i): print(" "*j, end="")生成缩进,这会导致每行的空格数是累加的:
    • i=1时,j只取0,输出0个空格;
    • i=2时,j取0和1,先输出0个空格再输出1个空格,总共1个空格;
    • i=3时,j取0、1、2,输出0+1+2=3个空格;
      这种方式会让缩进的增量越来越大,完全偏离目标中每行增加2个空格的要求,直接导致图案错乱。
  2. 数字输出部分逻辑是对的,但因为缩进错误,整体排版完全混乱。

修正后的代码

调整缩进生成逻辑,直接用固定的空格数实现均匀缩进:

limit = 10
for i in range(1, 12):
    # 每行输出 (i-1)*2 个空格,实现逐行增加2个空格的缩进
    print(" " * ((i-1)*2), end="")
    if limit >= 0:
        for j in range(0, limit):
            print(j, end="")
    limit -= 1
    print()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 22:05:19