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

请求协助编写Python代码打印指定对称数字图案

Python代码生成对称数字图案

实现代码

size = 7
center = size // 2  # 计算图案中心的索引位置

for i in range(size):
    row = []
    for j in range(size):
        # 计算当前位置到中心的最大横向/纵向距离
        distance = max(abs(i - center), abs(j - center))
        # 根据距离确定当前位置的数字
        num = 1 + distance
        row.append(str(num))
    # 拼接并打印当前行
    print(''.join(row))

或者更简洁的单行生成版本:

size = 7
center = size // 2

for i in range(size):
    print(''.join(str(1 + max(abs(i - center), abs(j - center))) for j in range(size)))

逻辑解释

这个图案的核心是对称分层规律:

  1. 图案是7×7的正方形,中心位置索引为3(Python索引从0开始,7//2=3),对应数字1。
  2. 从中心向外每扩展一层,数字加1:第二层数字为2,第三层3,最外层4。
  3. 每个位置的数字由它到中心的最大横向/纵向距离决定:
    • 最外层位置(0,0),到中心的横、纵向距离都是3,取最大值3,数字为1+3=4。
    • 中心位置(3,3),距离为0,数字为1+0=1。
    • 位置(1,2),横向距离是2、纵向距离是1,取最大值2,数字为1+2=3,完全匹配图案对应位置。

新手友好提示

  • 修改size为其他奇数(比如5、9),就能生成不同大小的对称图案。
  • //是整数除法,用来获取中心索引;abs()用于计算绝对值,确保距离为正数。
  • ''.join()方法可以把列表里的字符串元素快速拼接成完整的一行文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:43:09