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

Python矩阵寻路项目实现:如何为随机数矩阵添加随机方向箭头?

矩阵寻路迷宫箭头添加实现

核心需求

在已有的1-99随机整数矩阵基础上,添加随机方向的箭头元素,支持上下左右四个方向随机选取,保留左上角起点S和右下角终点D。

修复&优化后的可运行代码

import random

def maze(c, r):
    # 生成初始随机数矩阵
    matrix = []
    for i in range(r):
        row = []
        for j in range(c):
            row.append(random.randint(1,99))
        matrix.append(row)
    
    # 定义四个方向箭头备选列表
    arrows = ['↑', '↓', '←', '→']
    # 随机生成箭头数量:不超过总格子数的1/3
    arrow_count = random.randint(0, c * r // 3)
    for _ in range(arrow_count):
        # 随机生成坐标,避开起点和终点位置
        while True:
            x = random.randint(0, r - 1)
            y = random.randint(0, c - 1)
            if (x, y) != (0, 0) and (x, y) != (r-1, c-1):
                break
        # 随机选取箭头赋值
        matrix[x][y] = random.choice(arrows)
    
    # 设置起点和终点
    matrix[0][0] = "S"
    matrix[-1][-1] = "D"
    
    # 格式化打印矩阵,结构更清晰
    for row in matrix:
        print(' '.join(str(item).ljust(2) for item in row))

maze(6,5)

实现说明

  • 补充了random模块导入,修复了原有代码的缩进错误
  • 新增箭头随机选取逻辑,支持四个方向随机生成
  • 新增坐标校验逻辑,避免箭头覆盖起点、终点
  • 优化了打印逻辑,每个元素左对齐占2位,输出的矩阵结构更易读

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 16:24:05