Py学习  »  Python

ValueError:以10为基数的int()的文本无效:“输入”。python中带有int和matrix的txt

ChristianYisus • 3 年前 • 1361 次点击  

我有以下代码:

import sys

class Graph():

    def __init__(self, vertices):
        self.V = vertices
        self.graph = [[0 for column in range(vertices)]
            for row in range(vertices)]
            
    def printAnswer(self, dist, src):
        for node in range(self.V):
            if(node != src):
                print("node", src, "to node", node, ":", dist[node])
                
    def minDistance(self, dist, sptSet):
        min = 1000000009
        for u in range(self.V):
            if dist[u] < min and sptSet[u] == False:
                min = dist[u]
                min_index = u
        return min_index
        
    def dijkstraMinDist(self, src):
        dist = [1000000009] * self.V
        dist[src] = 0
        sptSet = [False] * self.V

        for cout in range(self.V):
            x = self.minDistance(dist, sptSet)
            sptSet[x] = True
            
            for y in range(self.V):
                if self.graph[x][y] > 0 and sptSet[y] == False and \
                        dist[y] > dist[x] + self.graph[x][y]:
                    dist[y] = dist[x] + self.graph[x][y]

        self.printAnswer(dist, src)


n = int(sys.argv[1])

g = Graph(n)
g.graph = []

for i in range(0, n):
    l = list(map(int, sys.argv[2].split()))
    g.graph.append(l)

for i in range(0, n):
    g.dijkstraMinDist(i)

和一个输入文件:

4
0 2 -1 3
-1 0 1 5
2 3 0 -1
3 -1 4 0

我想跑步 python3文件。py输入。txt输出。txt 从命令行,但当我运行时,我得到:

Traceback (most recent call last):
File "/Users/c/Desktop/dijk/a.py", line 54, in <module>
n = int(sys.argv[1])
ValueError: invalid literal for int() with base 10: 'input.txt'

现在输出在命令行上,但我也希望打印在文本文件输出中。txt

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128813
 
1361 次点击  
文章 [ 1 ]  |  最新文章 3 年前