0
私はPythonで新しく、バックトラックアルゴリズムを学びたいと思っています。私はいくつかのチュートリアルを見て、私はこのコードを作成しました:Python Bkt - 範囲外のリストインデックス
x = []
pod = []
class def_pod:
ins1 = 0
ins2 = 0
def __init__(self, name):
self.name = name
ins_start = int(input("Insula de start: "))
n = int(input("Numar de poduri: "))
def Plimbare (insula_crt, k):
if n==k:
print(x)
else:
for i in range(0,n-1):
if POSIBIL(i,k,insula_crt):
x[k] = i
if insula_crt == pod[i].ins1:
ins=pod[i].ins2
else:
ins=pod[i].ins1
Plimbare(ins,k+1)
def POSIBIL (alfa,k,ins_crt):
for j in range(0,n-1):
if x[j] == alfa:
return False
return pod[alfa].ins1 == ins_crt or pod[alfa].ins2 == ins_crt
print ("Lansare executie program: \n")
Plimbare(ins_start,0)
をしかし、私は私の配列が範囲外であり、私はこれを解決するために何ができるのか分からないという事実によってリンクされ、多少の誤差があります。手伝って頂けますか?私は私の質問は、それほど関連性がない場合は申し訳ありませんが、私が言ったように、私は新たなんだ..コメントで解決
初めてご 'POSIBIL()'関数'x'は空のリストであり、x [k] = iの代わりに – kuro
のリストのn番目の要素にアクセスしたいのですが、x.append(i)を使用してください。 –
ありがとうございました。私は今問題が解決したと思う。 :) –