def multnumfunc(num, A):
    """
    Умножение матрицы на число или список.

    Parameters
    ----------
    num : float
        Число, на которое нужно умножить матрицу
    A : [[float, float, ...],
         [float, float, ...],
         ...]
        Матрица, которую умножаем на число

    Raises
    ------
    ValueError
        Возникает, если первым элементов является матрица, а вторым - число.

    Returns
    -------
    mult : [[float, float, ...],
            [float, float, ...],
            ...]
        Матрица, которая является результатом умножения числа num на матрицу A.

    """
    if type(num) != type(1) and type(num) != type(1.1) or type(A) != type([]):
        raise ValueError('Первый элемент должен быть числом, а второй - матрицей')
    n = len(A)
    m = len(A[0])
    mult = []
    for i in range(n):
        mult.append([])
        for j in range(m):
            mult[i].append(A[i][j] * num)
    return mult