Форматирование списков для отображения начального нуля - Python 3.x - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь создать матрицу из 4 строк и 10 столбцов и отобразить начальный 0 для всех однозначных чисел, которые будут случайным образом генерироваться позже.Вот как я бы хотел, чтобы это выглядело: 1 Мой учитель дал мне этот фрагмент для форматирования чисел:

print('{:02}'.format(variable))

Но когда я использую это в своей функции, он дает мнеошибка: неподдерживаемая строка формата передана в список .__ формат __

Я переработал свой код и смог получить начальный ноль, но теперь матрица 4x10 составляет всего 40 дюймов рядом.Кто-нибудь может мне помочь и объяснить?

Мой код:

def printMatrix(matrix):
    for r in range(ROWS):
        for c in range(COLS):
            print('{:02}'.format(matrix[r][c]), end=' ')

def main():
    matrix = [0]*ROWS
    for i in range(ROWS):
        matrix[i] = [0]*COLS

    printMatrix(matrix)

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Вы действительно близко, похоже, вам может понадобиться еще print() после for -цикла, чтобы поставить новую строку после каждой строки.Попробуйте это:

def printMatrix(matrix):
    for r in range(ROWS):
        for c in range(COLS):
            print('{:02}'.format(matrix[r][c]), end=' ')
        print()

Демо

0 голосов
/ 13 октября 2018

вам нужно 0 впереди .. т.е. { 0 : 02}

print('{0:02}'.format(variable))

Это 0 относится к индексу переданных параметров, например, это тоже должно работать:

print ('{ 2 : 02}'. Format ("x", "y", variable ))


Yourкод:

def printMatrix(matrix):
    for r in range(ROWS):
        for c in range(COLS):
            print('{0:02}'.format(matrix[r][c]), end=' ')

def main():
    matrix = [0]*ROWS
    for i in range(ROWS):
        matrix[i] = [0]*COLS

    printMatrix(matrix)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...