【无标题】

from PIL import Image
import numpy
import matplotlib
import matplotlib.pyplot as plt

def Draw(list01):
for i in range(list01):
X=list01[i][0]
Y=list01[i][1]
plt.scatter(X, Y, s=5)
plt.show()

def Solution():
list01 = [start]
# 定义循环,让它走
# 列表里最后存的就是下一步走的地方,当前列表有东西才能继续走
while list01:
# 当前走到的节点是哪一个节点,也就是最后走的一步,是哪一步,去列表的最后的一个值就是索引-1
now = list01[-1]
if now == end: # 如果现在的now等于我们之前定义的终点end
Draw(list01);
print(“走出迷宫”)
break
row, col = now
# python 里的解构也叫解包 now包括两个位置,一个行,一个列
mapp[row][col] = 2
# 这个代表就是走过的点,为2,因为你走过的路是不能再走的,除了走不通返回的时候,也就是为了走不通按原来走过的路原路返回
# continue 结束本次循环,从新开始判断走路
if mapp[row - 1][col] == 0:
# 上方可以走
list01.append((row - 1, col))
continue
elif mapp[row][col + 1] == 0:
# 右方可以走
list01.append((row, col + 1))
continue
elif mapp[row + 1][col] == 0:
# 下方可以走
list01.append((row + 1, col))
continue
elif mapp[row][col - 1] == 0:
# 左方可以走
list01.append((row, col - 1))
continue
else: # 走不通过,直接循环干掉每一步,重新调整路线
list01.pop()
image = Image.open(r"C:\User\DS\Desktop\路径.bmp") #图片的地址
mapp= numpy.array(image);
m,n=numpy.shape(mapp);
start=[0,0]
end=[0,0];
for y in range(image.size[1]):
for x in range(image.size[0]):
pix = image.getpixel((x,y))
if(pix==(255,0,0)):
start[0]=x
start[1]=y
elif(pix==(0,0,255)):
end[0]=x
end[1]=y

if(start==[0,0]or end==[0,0]):
print(“不符合要求”)
exit();
Solution();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值