x, y = input ( "Enter the dimensions as ROWS,COLS:\n " )
print
m1 = [ [ 0 for i in xrange ( y) ] for j in xrange ( x) ] # X*Y
m2 = [ [ 0 for i in xrange ( x) ] for j in xrange ( y) ] # Y*X
R = [ [ 0 for i in xrange ( x) ] for j in xrange ( x) ] # Result as X*X
def enter( m, n, rows, cols) :
print "Enter Matrix %d with height %d, width %d one row at a time...\n " % ( n, rows, cols)
for i in xrange ( rows) :
m[ i] = input ( "Row %d:" % ( i+1 ) ) # input a row like this: [1,2,3,...]
print
enter( m1, 1 , x, y) # enter Matrix 1
enter( m2, 2 , y, x) # enter Matrix 2
for i in xrange ( x) :
for j in xrange ( x) :
R[ i] [ j] = sum ( m1[ i] [ k] * m2[ k] [ j] for k in xrange ( y) )
for row in R:
print row
eCx5ID0gaW5wdXQoIkVudGVyIHRoZSBkaW1lbnNpb25zIGFzIFJPV1MsQ09MUzpcbiIpCnByaW50CgptMSA9IFtbMCBmb3IgaSBpbiB4cmFuZ2UoeSldIGZvciBqIGluIHhyYW5nZSh4KV0gIyBYKlkKbTIgPSBbWzAgZm9yIGkgaW4geHJhbmdlKHgpXSBmb3IgaiBpbiB4cmFuZ2UoeSldICMgWSpYClIgID0gW1swIGZvciBpIGluIHhyYW5nZSh4KV0gZm9yIGogaW4geHJhbmdlKHgpXSAjIFJlc3VsdCBhcyBYKlgKCmRlZiBlbnRlcihtLCBuLCByb3dzLCBjb2xzKToKCXByaW50ICJFbnRlciBNYXRyaXggJWQgd2l0aCBoZWlnaHQgJWQsIHdpZHRoICVkIG9uZSByb3cgYXQgYSB0aW1lLi4uXG4iICUgKG4scm93cyxjb2xzKQoKCWZvciBpIGluIHhyYW5nZShyb3dzKToKCQltW2ldID0gaW5wdXQoIlJvdyAlZDoiICUgKGkrMSkpICMgaW5wdXQgYSByb3cgbGlrZSB0aGlzOiBbMSwyLDMsLi4uXQoJcHJpbnQKCmVudGVyKG0xLDEseCx5KSAjIGVudGVyIE1hdHJpeCAxCmVudGVyKG0yLDIseSx4KSAjIGVudGVyIE1hdHJpeCAyCgpmb3IgaSBpbiB4cmFuZ2UoeCk6Cglmb3IgaiBpbiB4cmFuZ2UoeCk6CgkJUltpXVtqXSA9IHN1bShtMVtpXVtrXSAqIG0yW2tdW2pdIGZvciBrIGluIHhyYW5nZSh5KSkKCmZvciByb3cgaW4gUjoKCXByaW50IHJvdw==
stdin
MiwzClsxLDIsM10KWzQsNSw2XQpbMSwyXQpbMyw0XQpbNSw2XQ==
2,3
[1,2,3]
[4,5,6]
[1,2]
[3,4]
[5,6]