方法以及原理讲解在最下边 这边先放代码 Python刚学不久 献丑了 (视频是纯手工操作 非代码) 如果是用Python解 我的代码如下: def pd(): for p in range(1 ,10): if sl[p] == 10: sl[p] = 1 def j_1(): sl[1] += 1 sl[2] += 1 sl[4] += 1 ls[0] += 1 pd() def j_2(): sl[1] += 1 sl[2] += 1 sl[3] += 1 sl[5] += 1 ls[1] += 1 pd() def j_3(): sl[2] += 1 sl[3] += 1 sl[6] += 1 ls[2] += 1 pd() def j_4(): sl[1] += 1 sl[4] += 1 sl[5] += 1 sl[7] += 1 ls[3] += 1 pd() def j_5(): sl[2] += 1 sl[4] += 1 sl[5] += 1 sl[6] += 1 sl[8] += 1 ls[4] += 1 pd() def j_6(): sl[3] += 1 sl[5] += 1 sl[6] += 1 sl[9] += 1 ls[5] += 1 pd() def j_7(): sl[4] += 1 sl[7] += 1 sl[8] += 1 ls[6] += 1 pd() def j_8(): sl[5] += 1 sl[7] += 1 sl[8] += 1 sl[9] += 1 ls[7] += 1 pd() def j_9(): sl[6] += 1 sl[8] += 1 sl[9] += 1 ls[8] += 1 pd() sl = [0] ls = [0, 0, 0, 0, 0, 0, 0, 0, 0] while True: for i in range(9): sl.append(eval(input('一到第九格逐个输入 每输入一格按一次回车'))) if sl[-1] not in list(range(1, 10)): sl = [0] print("输入错误,请重新输入") break else: break while sl[1] != sl[2]: j_3() while sl[1] != sl[4]: j_7() while sl[2] != sl[3]: j_6() while sl[4] != sl[7]: j_8() while sl[6] != sl[8]: j_2() j_7() while sl[6] != sl[1]: j_9() while sl[1] != sl[9]: j_1() j_6() j_8() if sl[1] != sl[5]: v_1 = sl[1] v_2 = sl[5] cou = 0 while True: v_1 += 3 v_2 += 4 cou += 1 if v_1 % 9 == v_2 % 9: break for j in range(9): if j == 4: continue else: ls[j] += cou for l in range(9): ls[l] %= 9 print(ls) #输出结果有9个数字 从第一到第九分别代表对应的每格需要按下的次数 按完即通关 方法如下: 第一步:九宫格任意一个角都可以 我这边是选择了左上角 如视频 我先让左上角三格按照第一格的数字调整(也可以是任意数字 看你喜欢) 第二步:让右上角和左下角的数字与第一步调整的数字(即第一格数字,后面我都会管他们叫第一格)一致 第三步:一次第二格和一次第七格为一组 一次按一组 按到第八格与第六格一致 (当然 三四为一组也行) 第四步:按第九格 按到第六格和第一格一致 第五步:(一次第一格 + 一次第六格 + 一次第八格)为一组 按到第一格与第九格一致 最后一步:此时外围8格数字是相同的(运气好九格都相同 那就可以省略这一步直接过关) 外围8格各按一次为一组 按到通关为止 原理: 如第三步 第二第七为一组可使之前调整出的数字各个相同 又能以1为单位向上调整第八格 使其与第六格一致 再通过第四步 以1为单位同步调整第六第八格 使他们跟上大部队 现在就剩第五和第九两个孤儿 第五步原理:一组(一次第一格 + 一次第六格 + 一次第八格)可以做到除五和九外的所有格以1为单位向上调整以及第九格以2为单位向上调整 两方调整的单位相差1 所以若干组之后 外围8格一定能一致 最后一步原理: 外围8格各按一次可以使外围8格以3为单位向上调整以及第五格以4为单位向上调整 两方调整的单位差还是1 所以若干组之后 9格一定能一致 以上组数也一定不会超过8次 我的这一套方法做下来 核心就在于调整的单位差 或许有些格子需要按的次数超过了9次 很明显 9次一循环 所以以上方法或许得做很多不必要的事 最简的方法一定是每格按的次数皆不超过8次 但方法就是这样 要一步一步来 这一关我也只研究到这 毕竟再研究别的方法我还得重新构思代码 我暂时没别的办法 不过这一步在Python代码中可以做到尽量省 即 每一格次数除以9 得到的余数为最简方法
长按#彩虹牌会有色差
应该算是第三关最简单的方法了 前面两步都是不用脑子的 先点中3行使第一行统一 再操作第三行使第二行与第一行一致 然后点一六格使上6格与第七格一致 再点三四格使除第八格以外的数字相同 再点二七九格通关
1