• 09-06-2020, 01:35:59
    #1
    Gold üye
    Merhaba arkadaşlar . Python konusunda size ufak bi konuda fikir almak istiyorum . Şu soruda kodu yazdım . Sorunsuz derleme vs birim matrisi yazdırıyorum . Tek yapmak istediğim sadece N 3 için çalışıyor kod . 4 verirsek veya başka bir sayıda çalışmıyo .Yardımcı olabilir misiniz

    Yazdığım kod :
    def meftun(N):
                                    
                                             for i in range(N):
                                                    for j in range(N):
                                                          print(matris[i][j], end=" ")
                                                    print()
                                            meftun(3)
  • 09-06-2020, 02:26:04
    #2
    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)
  • 09-06-2020, 02:37:54
    #3
    Merhaba, yazmış olduğunuz kodu incelediğimde, dışarıdan girilen bir parametreyle boyutu belirlenen bir matris yerine sabit olarak 3x3 boyutlu bir matris oluşturmuşsunuz. Sizin için anlaşılabilir bir kod yazdım umarım yardımcı olur.
    def meftun(N):
    
        matrix = []
    
        for i in range(N):
            satir = []
            matrix.append(satir)
            for j in range(N):
                if i == j:
                    satir.append(1)
                else:
                    satir.append(0)
    
                print(matrix[i][j], end='')
    
            print()
  • 09-06-2020, 02:57:54
    #4
    def meftun(N):
    matris = [[0]*N for i in range(N)]
    
    for i in range(N):
    matris[i][i] = 1
    
    for a in matris:
    for b in a:
    print (b, end = "")
    print()
    
    
    meftun(5)
  • 09-06-2020, 12:09:11
    #5
    Gold üye
    Hepinize teker teker çok teşekkür ederim . Cevaplar oldukça yardımcı oldu