2011-10-02 4 views
2

일시적으로 두뇌에서 새어 나온 간단한 수정 사항을 가지고 있다고 생각합니다. I 같은 왼쪽 아래 번호를 갖는다 가변 크기의 그리드를 인쇄 할 수 있어야파이썬에서 enumerate를 사용하여 번호가 매겨진 중첩 목록을 인쇄합니다.

 
1 - + - 
2 + - + 
3 - + - 

그리드는 아래와 같이 i+1으로 enumerate을 이용하여 중첩 된 목록에서 구성되어 아래

for i, line in enumerate(grid): 
    return i+1, line 

내가 왼쪽에 그 숫자를 얻을 수는 있지만 출력은 어수선한이고 목록으로 나타납니다 확실히 내가 그 순간에 내가

def print_grid(grid): 
    for line in grid: 
     for char in line: 
      print char, 
     print 
를 사용하여 (없는 번호) 그리드를 인쇄하고있어, 이후 해요3210

열거 대신에 그 숫자를 얻기 위해 사용해야하는 다른 것이 있습니까? 그리드는 변수 매개 변수로 설정할 수 있기 때문에 필자는 필자가 그리드를 구성하기 위해 사용한 코드를 수정하는 대신 인쇄 할 때이 작업을 수행하는 방법이 필요하기를 바랬다. 나는 인터넷에서 검색을했고 사람들이 그림을 그리는 곳의 기초에 숫자가 나타나지만 왼쪽면에는 보이지 않는 곳을 발견했다. print_grid 함수에서 열거 형 문을 어디에 사용하든 관계없이 출력이 엉망이됩니다.

답변

1

이걸 찾으십니까?

for i, line in enumerate(grid): 
    print i, 
    for char in line: 
     print char, 
    print 
당신은 하나의 문자열로 각 목록에 가입 할 수
+0

감사합니다! 나는 이런 식으로 시도했지만 잘못된 곳에서 인쇄를 계속했습니다. 나는 들여 쓰기가 실패했을 것입니다. 다시 한 번 감사드립니다. – user974986

3

:

for i, line in enumerate(grid, 1): 
    print i, ' '.join(line) 
+1

'enumerate (grid, 1)'을 사용하고'+ 1'을 제거하십시오. – agf

+0

잡아 주셔서 감사합니다! 나는 대답을 업데이트했다. –

관련 문제