#виконайте добуток двох квадратних матриць 3*3, врахуйте розмірність.
#Результати множення елементів занесіть до нової матриці та виведіть її на екран;
#Курдупов Олексій 122-Г
import numpy as np
r=0#створюєм пусту змінну для результатів множення
none=[] # пустий список для внксення значення
tote=[]# пустий список для внесення значення
while True:
 n,p=int(input('Введіть кількість рядків 1:  ')),int(input('Введіть кількість стовбчиків1: '))#вводим розмір матриці 1
 v,x=int(input('Введіть кількість рядків 2:  ')),int(input('Введіть кількість стовбчиків2: '))#вводим розмір матриці 2
 while n !=3 and p !=3:#провірка на розмірність 3 на 3
    n,p=int(input('Введіть кількість рядків1:  ')),int(input('Введіть кількість стовбчиків1: '))
    v,x=int(input('Введіть кількість рядків2:  ')),int(input('Введіть кількість стовбчиків2: '))
 a=np.zeros((n,p),dtype=int)#ініціалізуєм матрицю 0,і робим тип данних int
 m=np.zeros((v,x),dtype=int)#ініціалізуєм матрицю 0,і робим тип данних int
 for i in range(n):#проходимся по рядкам матриці 1
    for j in range(p):#проходимся по стобчикам матриці 1
        a[i,j]=int(input(f'A[{i+1},{j+1}]='))#заповнюєм 1 матрицю значенями
 print('Наша матрица 1')
 print(a)
 for o in range(v):#проходимся по рядкам матриці 2
    for z in range(x):#проходимся по стобчикам матриці 2
        m[o,z]=int(input(f'M[{o+1},{z+1}]='))#заповнюєм 2 матрицю значенями
 print('Наша матрица 2')
 print(m)
 for i in range(n):#проходимся по рядкам матриці 1
            for z in range(x):#проходимся по стобчикам матриці 2
                for j in range(p):#проходимся по стобчикам матриці 1
                   r=r+a[i][j]*m[j][z] #перемножаєм матриці 1 і 2,де є матриця  1 і стовбчики матриці 2 і запиуєс наше значення в змінну
                none.append(r) #добавляєм значення в список
                r=0 # присвоєм значення до 0
            tote.append(none) # після розрахунку всіх дій записуєсо в кінечний список
            none=[]
 print(f' матриця 3{tote}')
 result = input('Хочите продовжити ? Якщо да - 1, Якщо ні - інше: ')
 if result == '1':
   continue
 else:
    break
