print "Qual deve ser o tamanho do tabuleiro?"
while 1:
    tamanho = input()
    if 1 < tamanho < 6:
        print "Que o jogo comece!"
        break
    else:
        print "Nao posso usar isso como um tabuleiro..."
numeros = tamanho*tamanho-1
x = [range(0,tamanho)]
y = [range(0,tamanho)]
i = 0
while i < tamanho:
    x[i-1] = y[:]
    i = i + 1


我不断收到索引错误


  IndexError:列表分配索引超出范围


我试图用y作为列和x作为行来制作矩阵。我尝试循环,而循环...几乎所有内容,有人可以帮助我吗?
附注:我仍在学习,请耐心等待。

最佳答案

x = [range(0,tamanho)]


这使x成为1元素列表,其唯一元素是tamanho元素列表。 y行与此类似。那不是你想要的。如果您想要一个m×n矩阵,请使用m×n嵌套列表:

matrix = [[0]*n for i in xrange(m)]


[0]*n组成一个由零组成的n元素列表,列表推导使这些元素组成的m列表。

关于python - 我认为没有索引错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20318988/

10-10 15:17