REHome, para representar la matriz no necesitás casi nada más.
No necesitás el
print en cada iteración del
for, y te falta asignar 1 al valor de la diagonal.
Código Python:
Ver originalfor i in range(n):
M.append( [0] * n )
M[i][i] = 1
print M
Imprimirla ya es otra historia, pero es la gracia del ejercicio