Форум сайта python.su
Доброго времени суток. Задали в университете программу написать. Честно говоря, даже не знаю с чего начать. Буду очень благодарен за помощь. Ниже условие программы.
Даны массивы B(6) и А(7). Сформировать матрицу F по формуле F = B*A. Определить среднее арифметическое элементов каждого столбца матрицы и количество элементов, превышающих среднее арифметическое. Результаты записать соответственно в массивы СР(7) и М(7). Напечатать матрицу F в виде матрицы и ниже массивы СР и М.
Заранее большое спасибо.
Ну, и если для кого-то вдруг такие задачи – пустяки, то напишу еще одну, мало ли.
Сформировать одномерный массив Z из ненулевых элементов целочисленной матрицы B(9,11), которую просматривать по столбцам. В полученном массиве третий положительный элемент заменить произведением предшествующих двух положительных элементов. Если в массиве Z будет меньше трех положительных элементов, то напечатать соответствующий текст. Напечатать матрицу B в виде матрицы и массив Z.
Офлайн
Думаю, что в вашем случае нельзя использовать NumPy, но, вообще, всегда, когда идет речь об операциях с матрицами – этот пакет крайне рекомендуется. Работа с массивами через циклы в Python медленная, поэтому никаких реальных вычислительных задач так не решить (ну разве что очень простые)
import numpy as np B = [1,2,3,4,5,6] A = [1,2,3,4,5,6,7] F = np.outer(A,B) CP = np.mean(F, axis=0) M = np.sum(F>CP, axis=0) print F, CP, M
Офлайн