Я столкнулся с проблемой, которую не знаю, как решить с помощью алгоритма Дейкстры - вот мой код:
infinity = 1000000
invalid_node = -1
#startNode = 0
class Node:
distFromSource = infinity
previous = invalid_node
visited = False
def populateNodeTable():
nodeTable = []
f = open("twoDArray.txt", "r")
for line in f.readlines(): #get number of nodes from file
nodeTable.append(line.split(',')) # Create matrix of weights
numNodes = len(nodeTable) # Count nodes
print numNodes
#for all nodes in text file, set visited to false, distFromSource to infinity & predecessor to none
**for i in numNodes:
nodeTable.append(Node(i))**
#nodeTable.append(Node())
nodeTable[startNode].distFromSource = 0
print nodeTable
if __name__ == "__main__":
populateArray()
populateNodeTable()
Когда я запускаю этот код, я получаю следующую ошибку:
Traceback (most recent call last):
File "2dArray.py", line 63, in <module>
populateNodeTable()
File "2dArray.py", line 18, in populateNodeTable
for i in numNodes:
TypeError: 'int' object is not iterable
Я не уверен, как исправить эту ошибку (раздел между звездочками) - я пытаюсь прочитать текстовый файл, представляющий собой последовательность целых чисел, разделенных запятыми, и подсчитать числоузлов в этом текстовом файле Каждому узлу будут назначены значения в классе Node