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)