как взять 2D-список в качестве входных данных и распечатать его как изображение PBM
Меня попросили инвертировать изображение PBM, перевернув единицы на 0 и 0 на 1, и вывести его как изображение PBM. Вот пример, который я использовал.введите здесь описание ссылки, и оно будет выглядеть как
P1
6 10
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
1 0 0 0 1 0
0 1 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0
Я успешно перевернул единицы на 0 и от 0 на 1 с помощью 2D-списка, но не знаю, как вывести его как PBM образ.
Вот код, который я пишу:
elif sys.argv[1] == 'invert':
picture = input()
print(picture)
size = input()
print(size)
nsize = size.split()
W = int(nsize[0])
H = int(nsize[1])
Board = []
for j in range(H):
L = input()
nL = L.split()
Board.append(nL)
for row in range(len(Board)):
ncols = len(Board[row])
for col in range(ncols):
if Board[row][col] == '0':
Board[row][col] = '1'
else:
Board[row][col] = '0'
for row in Board:
for col in row:
print(int(col), end=' ')
print()
Когда я отображаю, на выходе будет только
P1
6 10
1 1 1 1 0 1
1 1 1 1 0 1
1 1 1 1 0 1
1 1 1 1 0 1
1 1 1 1 0 1
1 1 1 1 0 1
0 1 1 1 0 1
1 0 0 0 1 1
1 1 1 1 1 1
1 1 1 1 1 1
Но вместо этого он должен отображать изображение PBM с заменой черного и белого цветов.
Итак, я просто хочу спросить, как мне взять 2D-список на вход и распечатать его как изображение PBM? Следует упомянуть одну важную вещь: нам разрешено только импортировать sys и использовать списки. и мы запускаем эту программу на Linux-терминале с помощью командыpython3 filename.py invert <filename.pbm>output
а также display output
. Итак, как я могу распечатать вывод как изображение PBM, используя список 2D?
Заранее спасибо!!