Yazılan kod sadece sizin yukarıda yazdığınız 3x3 matrisi ekrana yazdırıyor herhangi bir matris oluşturmuyor incelerseniz görebilirsiniz, for döngülerinin içinde sadece yazdırma var herhangi bir atama yok yukarıda yazan matrisi "matris=[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]] " yapıp meftun(4) yaptığınızda 4x4'te de sonuç verdiğini göreceksiniz ancak sadece yazdırma yapıyor dediğim gibi. Bunlardan birini kullanabilirsiniz.
def meftun(n):
matris=[[0 for x in range(n)] for y in range(n)]
for i in range(0,n):
matris[i][i] = 1
print(matris)
meftun(5)def meftun
matris = [[1 if i==j else 0 for i in range(n)] for j in range(n)]
print(matris)
meftun(5)