|

楼主 |
发表于 2021-1-9 19:36:07
|
显示全部楼层
- def Move(Input,Info,Times):
- MoveR = Input.copy()
- if Info[2][0]!=0 and Times == 0:
- MoveR[Info[0]][Info[1]] = MoveR[Info[0]-1][Info[1]]
- MoveR[Info[0]-1][Info[1]] = 0
- print('0成功***************')
- elif Info[2][1]!=0 and Times == 1:
- MoveR[Info[0]][Info[1]] = MoveR[Info[0]+1][Info[1]]
- MoveR[Info[0]+1][Info[1]] = 0
- print('1成功***************')
- print(Input)
- elif Info[2][2]!=0 and Times == 2:
- MoveR[Info[0]][Info[1]] = MoveR[Info[0]][Info[1]-1]
- MoveR[Info[0]][Info[1]-1] = 0
- print('2成功***************')
- elif Info[2][3]!=0 and Times == 3:
- MoveR[Info[0]][Info[1]] = MoveR[Info[0]][Info[1]+1]
- MoveR[Info[0]][Info[1]+1] = 0
- print('3成功***************')
- return MoveR
- Database = []
- Tempbase = []
- Compl = 0
- Input = input('输入初始状态(例如:102345678):')
- Target = input('输入目标状态(例如:142375608):')
- Tempbase.append(Change(Input))
- Database = Tempbase.copy()
- while Compl == 0:
- Testbase = Tempbase.copy()
- Tempbase.clear()
- for i in range(len(Testbase)):
- Info = Move_Prac(Testbase[i])
- for Times in range(4):
- MoveResult = Move(Testbase[i],Info,Times)
- print(MoveResult)
- if MoveResult != Testbase[i]:
- Contrast(Moveresult,Target)
- WriteIn(Moveresult,Target)
复制代码
不知道需要多少,其他函数没有用到这个Testbase就不放出来了(太长)
永远都进不去最后一个if,他们数值在经过Move函数之后永远一样 |
|