Загрузка данных


def input_matrix():
    """Ввод матрицы 3x3 с клавиатуры"""
    matrix = []
    for i in range(3):
        row = []
        for j in range(3):
            row.append(float(input(f"A[{i + 1}][{j + 1}] = ")))
        matrix.append(row)
    return matrix


def multiply(a, b):
    """Умножение двух матриц 3x3"""
    result = []
    for i in range(3):
        row = []
        for j in range(3):
            s = 0
            for k in range(3):
                s = s + a[i][k] * b[k][j]
            row.append(s)
        result.append(row)
    return result


def power(a, n):
    """Возведение матрицы a в степень n (n > 0)"""
    result = a
    for _ in range(n - 1):
        result = multiply(result, a)
    return result


def print_matrix(m):
    """Вывод матрицы на экран"""
    for i in range(3):
        for j in range(3):
            print(m[i][j], end="\t")
        print()


print("Введите элементы матрицы A:")
A = input_matrix()

n = int(input("Введите степень n (n > 0): "))
while n <= 0:
    n = int(input("n должно быть больше 0. Введите n ещё раз: "))

print(f"Матрица A^{n}:")
print_matrix(power(A, n))