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
相关产品推荐
相关产品推荐

