本文重点!! 如何仅通过简便的方式 实现多层for循环 N层for循环
接着上一篇(3*3拼图 自制for广度搜索) 8数码问题, 用了广度横向搜索方式完成之后, 我又想 用纵向也就是深度搜索的方式 完成拼图.
如下图的遍历方式
将每个最终子节点遍历到头后 在进行第二次遍历.
我最早解拼图算法,是用 每步随机走法遍历的…也就是能不能走通拼图全靠运气,但是这个算法构建最简单,就是每步走法都是 从上下左右random取数,当然唯一的限制 就是 禁止回走上一步. 具体也就是规定给走100步,到100步就开始两次探索, 总共探索100万次. 当然3*3真的很简单, 走了一会就有20步走法答案的展示了.
但是如果拼图更大这个策略有可能就有问题了.所以我现在想用深度搜索方法,穷举出所有可能,当然最简单的方法 也就是 比如规定20步走出拼图.
就写20个for循环就可以遍历所有20步拼图的可能了
但是如果 一开始不知道要走多少步 如果又是44 55的拼图 难不成真就手写100个for循环…那也太累了…而且 排列真的很难看…要1000步就1000个for呗…
以下给出简略代码块
import numpy as np
count = 0
层数 = 3
选项长度合集 = []
步数选项 = [1,2,3,4]
最终子节点输出列表 = []
中间输出 =</