Lowest cost through this matrix:
Traceback (most recent call last):
File "muncre.py", line 8, in <module>
print_matrix(matrix, msg='Lowest cost through this matrix:')
File "/usr/lib/python2.7/dist-packages/munkres.py", line 730, in print_matrix
width = max(width, int(math.log10(val)) + 1)
ValueError: math domain error
Когда матрица содержит нуль в любой из строк, выдается вышеуказанная ошибка. Как я могу это исправить?print_matrix библиотеки munkres python генерирует исключение в матрице, содержащей нули
Это кусок кода в Python:
from munkres import Munkres, print_matrix
matrix = [[6, 9, 1],
[10, 9, 2],
[0,8,7]]
m = Munkres()
indexes = m.compute(matrix)
print_matrix(matrix, msg='Lowest cost through this matrix:')
total = 0
for row, column in indexes:
value = matrix[row][column]
total += value
print '(%d, %d) -> %d' % (row, column, value)
print 'total cost: %d' % total
Я установил библиотеку Манкрес с помощью следующей команды в Ubuntu:
Суд APT-получить установку питона-Манкрес
Вы можете обеспечить [MCVE] (http://stackoverflow.com/help/mcve) – tom
я дал матрицу значений [[6 91] [10 9 2] [0 8 7]]. В случае любой матрицы, такой как эта форма, которая содержит 0 в любой из строк, muncres бросает ошибку Value. Я не мог получить роль ширины в коде библиотеки. Итак, как решить это? – bambi
Правильно, но вы прочитали страницу, с которой я связался? «Когда вы задаете вопрос о проблеме, вызванной вашим кодом, вы получите гораздо лучшие ответы, если вы предоставите код, который люди могут использовать для воспроизведения проблемы» – tom