Как напечатать несколько многострочных строк из списка на одной строке - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть список, содержащий строковые шаблоны для цифр 0-3. Я пытаюсь напечатать их на одной строке, чтобы print (цифры 1 + col + цифры [2] + col + цифры [3]) печатала '1 2 3' из строк # шаблона из соответствующий индекс списка, но можно получить только шаблоны номеров, напечатанные самостоятельно.

# Create strings for each number 0-3 and store in digits list.
zero = '#'*3+'\n'+'#'+' '+'#'+'\n'+'#'+' '+'#'+'\n'+'#'+' '+'#'+'\n'+'#'*3
one = '#\n'.rjust(4)*6
two = '#'*3+'\n'+'#'.rjust(3)+'\n'+'#'*3+'\n'+'#'.ljust(3)+'\n'+'#'*3
three = '#'*3+'\n'+'#'.rjust(3)+'\n'+'#'*3+'\n'+'#'.rjust(3)+'\n'+'#'*3

digits = [zero, one, two, three]
col = '\n'.ljust(1)*6 # A divider column between each printed digit.

print(digits[1]+col+digits[2]+col+digits[3],end='')

Результат приведенного выше кода.

1 Ответ

0 голосов
/ 06 февраля 2020

Один из способов решить эту проблему - перевернуть матрицу цифр, сейчас каждый индекс в списке цифр имеет полные значения di git, но если мы будем хранить горизонтальные значения для каждого индекса, он будет печататься правильно.

думаю, что это было бы лучше представить в коде ... https://repl.it/@pavanskipo / DirectTriangularSla sh

# Digits replaced horizntally

digits_rev = [digits[0].split("\n"), 
              digits[1].split("\n"),
              digits[2].split("\n"),
              digits[3].split("\n")]

for i in range(0, len(digits)+1):
  print(digits_rev[0][i] + '\t' +
        digits_rev[1][i] + '\t' +
        digits_rev[2][i] + '\t' +
        digits_rev[3][i])

нажмите на ссылку и нажмите Run, дайте мне знать, если это работает

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