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

Python项目:二维N×N网格绘制对角X形状功能实现语法问题

实现代码

def mark_the_spot(grid: list, sign: str) -> list:
    n = len(grid)
    for row_idx in range(n):
        # 填充主对角线位置
        grid[row_idx][row_idx] = sign
        # 填充副对角线位置
        grid[row_idx][n - 1 - row_idx] = sign
    return grid

实现逻辑

  • 先获取网格的边长n,题目已限定输入为N×N的正奇数网格,无需做额外参数校验
  • 逐行遍历网格:
    • 主对角线的坐标规则为行号等于列号,直接替换为指定字符
    • 副对角线的坐标规则为列号 = 边长-1 - 行号,直接替换为指定字符
  • 重复赋值中间交点位置不会影响最终结果,无需额外做去重判断,代码更简洁易读

验证示例

你可以用题目给出的测试用例直接验证,返回结果和示例完全一致:

# 3x3网格测试
grid_3 = [[" ", " ", " "], [" ", " ", " "], [" ", " ", " "]]
result_3 = mark_the_spot(grid_3, 'X')
for row in result_3:
    print(row)
# 输出:
# ['X', ' ', 'X']
# [' ', 'X', ' ']
# ['X', ' ', 'X']

# 7x7网格测试
grid_7 = [[" "]*7 for _ in range(7)]
result_7 = mark_the_spot(grid_7, '#')
for row in result_7:
    print(row)
# 输出和题目给出的7x7示例完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:48:04