Дублирование печати в Python - PullRequest
1 голос
/ 11 ноября 2011

У меня проблема при попытке напечатать результат функции несколько раз. скажем, например, что после нескольких команд результат dreawing

()()()
 ()()
  ()

Теперь я хочу скопировать его в соответствии с функцией, поэтому я использовал цикл но он будет печатать его снова только по вертикали так:

()()()
 ()()
  ()

()()()
 ()()
  ()

()()()
 ()()
  ()

пока я хочу, чтобы он был горизонтальным, вот так:

()()()  ()()()   ()()()
 ()()    ()()     ()()
  ()      ()       ()

Вы можете мне помочь ??

1 Ответ

4 голосов
/ 11 ноября 2011

Вот рабочее решение вашей проблемы.

lines = [
"()()()",
" ()()",
"  ()"
]

def replicate(lines, n):
    width = reduce(max, map(len, lines))
    return (' '.join([line.ljust(width)] * n) for line in lines)

for line in replicate(lines, 3):
    print line

редактировать : добавлено управление интервалами

edit2 : использовал выражение генератора из-за давления со стороны сверстников: -)

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