- maze = [
 
 - [1 ,0, 1, 0, 0, 0],
 
 - [1, 1, 1, 1, 0, 1],
 
 - [0, 0, 1, 0, 1, 0],
 
 - [1, 0, 1, 0, 1, 1],
 
 - [1, 1, 1, 1, 1, 1],
 
 - [0, 1, 0, 1, 0, 0],
 
 - [0, 1, 0, 1, 1, 1]]
 
  
- a,b = 0,0
 
 - end = (3,5)
 
 - maze[0][0] = 8
 
 - n = 2
 
  
- def turn(a,b,n):
 
 -     #设置方向和步长
 
 -     t = [[1,0],[0,1],[0,-1],[-1,0]]    
 
 -     #递归终结条件,到达终点坐标
 
 -     if a == 3 and b==5:
 
 -         #条件式返回,终止递归,且和下面的return 1 形成单一返回
 
 -         return 1
 
 -     #每一步的每一种可能
 
 -     for i in t:
 
 -         a1,b1 = a,b
 
 -         a1 += i[0]
 
 -         b1 += i[1]
 
 -         #确定下一个落脚点的条件
 
 -         if 0<=a1<=6 and 0<=b1<=5:
 
 -             if maze[a1][b1] == 1:
 
 -                 #防止无限 原地前进返回
 
 -                 maze[a1][b1] = 8
 
 -                 #呼应最终的返回条件
 
 -                 if turn(a1,b1,n+1) == 1:
 
 -                     return 1
 
 -                 #一旦此条路不通,当重新启用下一种可能之前,
 
 -                 #当前脚下的地点初始化
 
 -                 maze[a1][b1] = 1
 
  
- turn(a,b,n)
 
 - for i in maze:
 
  复制代码 |