用格式打印字典

时间:2014-12-05 10:43:30

标签: python dictionary

我需要在屏幕上打印一个2048游戏板,我已经为此设计了一个功能,但这不是我的老师让我这样做的。

我的老师要我这样做

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

其中x具有board字典中的值。

问题是,我这样做了:

def tabuleiro_print(t):

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

其中t是包含此格式的坐标和值的电路板字典: {(1,1):value,(1,2):value2 ....等等}

但我的回报是:

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

我该如何解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:-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中这样做,这只适用于2.7