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

如何编写代码实现指定的连续数字分层排列输出图案?

实现数字金字塔图案的思路与代码

核心规律分析

先拆解图案的关键特征:

  • 第i行(从1开始计数)包含i个连续递增的数字
  • 所有数字从1开始连续排列,无中断
  • 每行的起始数字 = 前i-1行的数字总数 + 1,前i-1行总数是1+2+...+(i-1) = i*(i-1)//2,因此起始数为i*(i-1)//2 + 1

Python 实现代码

# 定义要生成的行数,示例为5行
total_rows = 5
current_num = 1

for row in range(1, total_rows + 1):
    # 每行打印row个连续数字
    for num in range(current_num, current_num + row):
        print(num, end=' ')
    # 换行进入下一行
    print()
    # 更新下一行的起始数字
    current_num += row

代码解释

  • current_num用于跟踪当前行的起始数字,初始值为1
  • 外层循环控制总行数,从1遍历到total_rows
  • 内层循环负责打印当前行的所有数字,范围是current_num到current_num + row
  • 每行打印完成后换行,并将current_num加上当前行的数字个数,作为下一行的起始值

无需跟踪起始数的写法

如果不想用变量维护起始数字,也可以直接通过行数计算起始值:

total_rows = 5

for row in range(1, total_rows + 1):
    start_num = row * (row - 1) // 2 + 1
    for num in range(start_num, start_num + row):
        print(num, end=' ')
    print()

两种写法都能输出目标图案:

1
2 3
4 5 6
7 8 9 10
11 12 13 14 15

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:06:29