"Int Object is not subscriptable" Fehlermeldung bei Zugriff auf Liste
Verfasst: Mittwoch 16. Juni 2021, 20:25
Moin, ich bekomme leider den obigen Fehlercode beim Aufruf meiner Funktion. Ich habe zunächst eine leere Liste, eine Funktion zum hinzufügen von Einträgen und die entsprechenden Einträge definiert. Hierbei handelt es sich um Knoten in einem Koordinatensystem, wobei das erste Tutel die x bzw. y Koordinate angibt. Nun möchte ich in der letzten Funktion die Distanz zwischen zwei Knoten berechnen, wobei eben die Fehlermeldung auftritt. Ich denke es ist irgendwie ein Problem durch die Art des Zugriffes auf die Einträge oder so, aber bin mir nicht sicher und komme leider nicht mehr weiter. Kann jemand helfen? Wäre sehr dankbar
Code: Alles auswählen
nodes = []
def add_node(posn, weight, value, neighbours):
nodes.append([posn, (weight), (value), neighbours])
add_node((1,1), 1, 3, [2,3])
add_node((0,4), 2, 1, [None])
add_node((4,2), 2, 4, [1,2,4])
add_node((2,2), 3, 3, [2,3,5])
add_node((5,5), 2, 2, [2,4])
def distance_links(node1, node2):
x2 = int(nodes[node1][1][1])
x1 = int(nodes[node2][1][1])
y2 = int(nodes[node1][1][2])
y1 = int(nodes[node2][1][2])
result = abs(((((x2 - x1) ** 2) + ((y2 - y1) ** 2)) ** .5))
return result
print(distance_links(1, 3))