2014-12-05 4 views
-1

화면에 2048 게임 보드를 인쇄해야하는데이 기능을 설계했지만 선생님이 저에게 요청한 방식이 아닙니다.형식으로 사전 인쇄

선생님은 여기서 x는 보드 사전에 값을 가지고이

[ x ] [ x ] [ x ] [ x ] 
[ x ] [ x ] [ x ] [ x ] 
[ x ] [ x ] [ x ] [ x ] 
[ x ] [ x ] [ x ] [ x ] 
Score: 

처럼 할 저를 원한다.

문제점 I이했다이다 :

t는 좌표 형식의 값이 포함 된 기판 딕셔너리이다
def tabuleiro_print(t): 

    for c in range(1, 5): 
      for i in range(1, 5): 
       print '{:2d}'.format(t[i,c]), 
      print 
    print 

: {(1,1)의 값이 (1,2) : .... 등등}

에 값 2하지만 내 수익은 다음과 같습니다

2 
16 
2 
0 
4 
64 
4 
2 
2 
32 
16 
4 
8 
4 
8 
2 

나는이 문제를 어떻게 갈 수 있나요?

감사합니다.

+1

입니다 {(x, y) : 1, product (range (1, 5), repeat = 2)})'(itertools import product' 다음에)'1'의 깔끔한 격자를 출력합니다. – jonrsharpe

+0

Python2를 사용하지 마십시오. 미래가 아닙니다. – nbro

+0

python3을 사용하고 있습니다. –

답변

-1
def printIt(table): 
    maxY, maxX = table.keys()[len(table) - 1] 
    for i in range(1, maxY + 1): 
     for j in range(1, maxX + 1): 
      print '[%s]' % table[(i,j)], 
     print 

이 트릭을 할해야

편집 : 나는 Py3에서 작업을 수행하는 방법을 모르는이 내가 (당신이 주장하는 출력,`tabuleiro_print을하지 않는 2.7

+0

그것은 작동하지 않았다, 내 변수에 대한 테이블을 변경하고 이것을 얻었다 : builtins.TypeError : 'dict_keys'객체가 인덱싱을 지원하지 않는다. –

+0

이것은 의미가 없다. 사전은 * 순서가 지정되지 않으므로 "마지막"키가 가장 큰 것은 아닙니다. – jonrsharpe

+0

글쎄, 내가 dict 키와 함께 할 필요가있다. 그래서 내가 2를 사용하여 나의 dict을 거치기 위해 루프를 사용한다. –