distances = { "u":0,
"v":0,
"w":0,
"x":0,
"y":0,
"z":0 }
Np = ["u"]
nodes = ["u","v","w","x","y","z"]
max = 20;
for node in nodes:
if (node+"-u") in dictionary:
distances[node] = dictionary["u-"+node]
else:
distances[node] = max;
while Np != nodes:
for node in nodes:
if node not in Np:
if (distances[node] < max):
min = distances[node]
minnode = node;
max = min;
Np.append(minnode);
print(Np);
for node in nodes:
if node not in Np:
if (node+"-"+minnode) in dictionary:
distances[node] = min(distances[node], distances[minnode] + dictionary[node+"-"+minnode]);
, пожалуйста, помогите, где я иду не так, я получаю ошибку в последней строке кода:
distances[node] = min(distances[node], distances[minnode] + dictionary[node+"-"+minnode]);
это говорит о том, что я делаю typeError из 'int', но я проследил код назад для начала я не вижу, что не так. Я использую объект словаря и объект списка, может, в этом причина? пожалуйста, посмотрите на код и исправьте