2011-08-11 2 views
1

는이 같은 간단한 레이아웃을 만들려고 노력하고 있어요 :형식화하는 문자열

--------- 
-  - 
- ABC - 
-  - 
--------- 

을 그리고 나는 두 가지 방법을 시도했지만 실패했다 : 첫번째 방법 : 올바른 위치에 커서를 넣어,하지만 난 내가 원하는 곳 제 2 수직 라인을 배치 할 수없는 것 그것은 :

# making first horizontal linefrom position 00 
    string_line = "-"*width    
    position00 = 0 
    self.summarylines.append(string_line.ljust(position00)) 

    # making first vertical line from position 00 
    for i in range(height): 
      self.summarylines.append('-') 

    # making second horizontal line from position V0 
    poistion0V=position00+height   
    self.summarylines.append(string_line.ljust(poistion0V)) 

    # making second vertical line from position H0 
    positionH0 = position00+width 
    for i in range(height): 
      self.summarylines.append('-'.ljust(positionH0)) 

두번째 방법 :

,623을 : 그들 사이에 공간을 추가하여 동시에 두 개의 수직 라인을 추가하는 것입니다210

그러나이 경우 가로줄의 너비만큼 큰 오른쪽 공백을 어떻게 추가 할 수 있는지 모르겠습니다. 어느 쪽이든, 나는 그 중 하나를 작동시키는 데 성공하지 못했습니다. 미리 감사드립니다.

답변

3
>>> foo = 'ABC' 
>>> head = ['-' * (len(foo)+6), '-%s-' % (' '*(len(foo)+4))] 
>>> print '\n'.join(head + ['- %s -' % foo] + head[::-1]) 
--------- 
-  - 
- ABC - 
-  - 
--------- 
+0

ok! 내 이슈에 대해 지나치게 생각하는 것에 대한 교훈을 가르칩니다. – caran