CloudCoder Python feladatgyujtemeny/matrix szorzas
A MathWikiből
A hiba az, hogy a kimeneti mátrix második dimenziója len(B) helyett len(B[0]) kéne hogy legyen, tehát az hogy a B mátrix sorai milyen hosszúak. Ezt két helyen is át kell javítani, egyrészt az üres mátrix létrehozásánál, másrészt a for ciklusnál. Így a végleges, javított kód:
def matrix_szorzas(A, B): # Eloszor megalkotjuk a visszaadando matrixot csupa 0 elemmel ret = [[0 for j in range(len(B[0]))] for i in range(len(A))] # majd minden (i, j) elemen vegigmegyunk for i in range(len(A)): for j in range(len(B[0])): # Es hozzaadjuk a megfelelo szorzatokat for k in range(len(B)): ret[i][j] += A[i][k] * B[k][j] # Visszaterunk az igy vegleges matrixszal return ret