<p>我刚开始学习Python并试图写下回溯算法,但似乎我做错了什么。
由于我对这门语言不太熟悉,我一直在网上查它,但不太懂它。在这里我的代码是:</p>
<pre><code>n = 3
x = [0] * 3
k = 0
def init ():
x[k] = 0
def succesor():
if x[k] < n:
x[k]+=1
return 1
return 0
def valid ():
i = 1
for i in range (0,k-1):
if x[i] == x[k]:
return 0
return 1
def solutie ():
return k == n
def afis():
print(x)
def back ():
k = 1
avemsuccesor = 1
init()
while k > 0:
while avemsuccesor and not valid():
avemsuccesor = succesor()
if avemsuccesor:
if solutie:
afis()
else:
k+=1
init()
else:
k-=1
def main ():
back()
main ()
</code></pre>
<p>当我运行它时,我只得到一个向量的0。
你能帮帮我吗?在</p>