0
我正在閱讀我的朋友寫給他的河內解決方案的代碼。但是我很難弄清楚他的代碼是幹什麼的,因爲我不明白他的初始化配置和結束配置。河內塔的初始配置?
def T(init, final):
if len(init) == 0:
return
if init[0] == final[0]:
T(init[1:], final[1:])
else:
fro = init[0]
to = final[0]
spare = other(init[0], final[0])
ic = spare * (len(init) - 1)
T(init[1:], ic)
print("move from %s to %s " % (fro, to))
T(ic, final[1:])
def other(char1, char2):
towers = "ABC"
towers = towers.replace(char1, "")
towers = towers.replace(char2, "")
return towers
init = "ABCBA"
final = "BCBAC"
T(init, final)
在這裏,他有init =「ABCBA」和final =「BCBAC」。代碼工作正常,但我不明白他爲什麼這樣做。
任何幫助表示讚賞。