2014-08-31 4 views
0

Index_Lookup_Conditions이라는 사전에서 만들어진 CND_Info이라는 목록의 모든 항목을 인쇄하려고합니다. "~"로 시작하는 자체 줄에 목록의 각 항목을 인쇄하려고하지만 80 자로 텍스트를 바꿔 쓰려고합니다. 나는 가능성을 textwrap하는 CND_Info의 각 항목에 대한 루프를 만들 수 있지만 간단한 방법이 있는지 궁금 해서요Python : 어떻게하면 동시에 목록과 텍스트 줄 바꾸기에 참여합니까?

PROG = str(input("Type condition name: ")) 
for key, value in Index_Lookup_Conditions.items(): 
    if (key == PROG): 
     print(key + "\n") 
     CND_Info = value.split("|") 
     print("~" + "\n~".join(CND_Info)) 

: 여기에 지금까지 코드입니다.

+0

protip : '인쇄 ('~ '* CND_Info 9 월 =' \ n ~ ')' –

+0

80 번째 문자에서 한 라인이 끊어지면 두 줄 모두'~'로 시작해야합니까? –

답변

0

당신은 이것에 대한 textwrap.fill를 사용할 수 있습니다

print() 기능을 사용
>>> import textwrap 
>>> lst = [c*20 for c in 'abcdef'] 
>>> print '\n'.join('~' + textwrap.fill(x, 15) for x in lst) 
~aaaaaaaaaaaaaaa 
aaaaa 
~bbbbbbbbbbbbbbb 
bbbbb 
~ccccccccccccccc 
ccccc 
~ddddddddddddddd 
ddddd 
~eeeeeeeeeeeeeee 
eeeee 
~fffffffffffffff 
fffff 

(파이썬 3) :

>>> print(*('~' + textwrap.fill(x, 15) for x in lst), sep='\n') 
~aaaaaaaaaaaaaaa 
aaaaa 
~bbbbbbbbbbbbbbb 
bbbbb 
~ccccccccccccccc 
ccccc 
~ddddddddddddddd 
ddddd 
~eeeeeeeeeeeeeee 
eeeee 
~fffffffffffffff 
fffff 
0
from textwrap import fill 

CND_Info = ['Some text line', 
      'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ' 
      'Praesent nisi leo, interdum vel nulla vitae, mollis rutrum velit.'] 

for line in CND_Info: 
    print fill('~' + line, 80)