Python 按格式打印词典

Python 按格式打印词典,python,dictionary,Python,Dictionary,我需要在屏幕上打印一个2048游戏板,我为此设计了一个功能,但这不是老师让我做的 我的老师要我这样做 [ x ] [ x ] [ x ] [ x ] [ x ] [ x ] [ x ] [ x ] [ x ] [ x ] [ x ] [ x ] [ x ] [ x ] [ x ] [ x ] Score: 其中,x在电路板字典中具有值 问题是,我做到了: def tabuleiro_print(t): for c in range(1, 5): for i i

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

我的老师要我这样做

[ x ] [ x ] [ x ] [ x ]
[ x ] [ x ] [ x ] [ x ]
[ x ] [ x ] [ x ] [ x ]
[ x ] [ x ] [ x ] [ x ]
Score:
其中,x在电路板字典中具有值

问题是,我做到了:

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):值,(1,2):值2……等等}

但我的回报是:

 2
16
 2
 0
 4
64
 4
 2
 2
32
16
 4
 8
 4
 8
 2
我怎么能绕过这个

多谢各位

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,我没有得到你声称的输出,
Tabuleirou打印({(x,y):1代表产品中的x,y(范围(1,5),repeat=2)}
(在itertools导入产品的
之后)打印一个整洁的
1
s网格。不要使用Python2,这不是未来。这两行
print
是Python3中的
SyntaxError
,你确定你没有使用Python2吗?发帖时忘了键入th(),很抱歉,你似乎忘记了一些其他事情,因为你的代码与@jornsharpe的示例配合得很好(我也测试了它,它也能工作)。例如,您可以给我们测试函数时使用的输入。它不起作用,我更改了变量的表,得到了以下结果:builtins.TypeError:“dict_keys”对象不支持索引这毫无意义。字典是无序的,所以不能保证“last”键是最大的。好吧,我需要使用dict键,这就是为什么我使用2 for循环遍历dict