Это старая версия Информатика/Архив/2017/11Б1/numpy за 09.11.2016 12:40:58.

numpy

Во-первых, нужно установить сборку питона под названием анаконда с сайта https://www.continuum.io/downloads
(брать версию для python 3.5, версию для x64, если у вас 64-х битная ось)


Во-вторых, рекомендуется переходить на IDE PyCharm, который имеет достаточно много фич, которые нам будут удобны.
Основные — это большое количество подсказок в процессе написания кода.
Основные hot key:
Ctrl+Alt+E — выполнить выделенный код в консоли
Shift+Ctrl+F10 — запустить текущий скрипт целиком в отдельном процессе


Ссылки по теме:
Если вы знаете английски, то лучше всего подойдёт оригинальный tutorial: https://docs.scipy.org/doc/num[..]user/quickstart.html


Иначе можно начать со странички https://pythonworld.ru/numpy/1.html





Задачи

01. Массив нулей

На вход даётся число n. Выведите массив нулей n на n

02. Числа на диагонали

На вход даётся число n. Выведите массив размера n на n,
в котором по диагонали идут числа 0 до n-1, а остальные числа равны 0

03. Числа в нулевой строке

На вход даётся число n. Выведите массив размера n на n,
в котором в первой строчке идут числа от 0 до n-1, а остальные числа равны 0

04. Сбитый прицел

На вход даётся числа n, r, c. Выведите массив размера n на n, в котором
в строке r и столбце c стоят 1, а остальные числа равны 0

05. Почётные единицы

На вход даётся число n. Выведите массив размера n на n,
в котором в чётных строчках стоят 1, а в нечётных
нули

06. Решето

На вход даётся числа n, r, c. Выведите массив размера n на n, в котором
в котором в каждой R-ой строчке и в каждом C-ом столбце стоят 1

07. Шахматы единиц

На вход даётся число n. Выведите массив размера n на n,
имеющий вид шахматной доски.

08. Разлиновка

На вход даётся число n. В следующей строке идёт несколько чисел. Выведите массив размера n на n,
в котором в строках из второй строки стоят 1

09. Порядок индексов

Даны числа w и h 
ширина и высота картинки в пикселях.
Создайте подходящий массив, в котором можно хранить трёхцветную картинку данной ширины и высоты.
При этом данные в памяти должны храниться так, чтобы сначала шли три цвета одного пикселя,
затем цвета следующего пикселя в этой же строчке или первый пиксель из следующей строчки.

10. Картинки

Скачайте картинки: 30x60g и 30x60c. Прочитайте их в numpy-массив при помощи команд вида
from skimage import io
img = io.imread('30x60g.png')
##
Сохранять изменённые картинки можно при помощи команды
from skimage import io
io.imsave('res.png', img)
Извлеките из цветной картинки только зелёный слой и сохраните в отдельный файл.

11. Состыковка

Состыкуйте две ч/б картинки так, чтобы получилась картинка 60х60, и 30х120. Сохраните их в отдельные файлы.
Сделайте то же самое с цветными картинками.

12. Вставка

Добавьте в ч/б картинку по центру белую вертикальную полосу шириной в 10 пикселей. Сохраните картинку в отдельный файл.
Добавьте ещё и горизонтальную серую полосу.
Теперь в цветную картинку добавьте зелёную вертикальную полосу и красную горизонтальную (каждую по центру, шириной 10 пикселей)

13. Удаление

Удалите из картинок центральную полосу шириной в 10 пикселей (всё аналогично 12-й задаче).

14. Отрезок

Создайте белую картинку 100х100 пикселей.
Проведите на ней отрезок из точки (x1,y1) в точку (x2,y2).
Сохраните картинку в файл (или нагуглите, как её показать прямо из программы).