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

如何用Python打印正三角形(非左右三角)形式的数字平方图案?

解决正三角形数字平方图案的嵌套循环实现

先明确目标输出图案:

1
4  9

16 25 36
49 64 81 100

实现思路

  • 总行数为4,每行的数字个数等于当前行数(第1行1个,第2行2个,以此类推)
  • 数字从1开始连续递增,每个数字取平方
  • 通过嵌套循环控制行数和每行的数字个数,利用字符串格式化保证数字对齐,前导空格实现右对齐效果

代码实现(Python)

rows = 4
current_num = 1

for i in range(1, rows + 1):
    # 打印前导空格,控制整体右对齐
    print(" " * (rows - i) * 2, end="")
    # 打印当前行的数字
    for j in range(i):
        square = current_num ** 2
        # 格式化数字占3位,适配多位数对齐,最后一个数字后直接换行
        if j == i - 1:
            print(f"{square:3d}")
        else:
            print(f"{square:3d}", end=" ")
        current_num += 1

代码解释

  1. 外层循环控制行数,从1到4遍历每一行。
  2. 前导空格计算:(rows - i) * 2 确保每行的起始位置逐渐左移,形成正三角形的右对齐效果。
  3. 内层循环控制每行的数字个数,等于当前行数,依次计算连续整数的平方。
  4. f"{square:3d}" 格式化每个数字为3位宽度,个位数自动补前导空格,保证所有数字对齐整齐。
  5. 最后一个数字后直接换行,避免行尾出现多余空格。

运行代码后,输出结果与目标图案完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 01:40:25