Материалы по курсу «Основы программирования»

Лабораторная работа № 5. Запись файлов

Задача 1. Запись матрицы, save_matrix(filename, matrix) (1 балл)

Нужно написать функцию

save_matrix(filename, matrix)

которая записывает в файл с именем filename матрицу matrix. Матрица, как и в предыдущей лабораторной, представляет собой список списков.

Пример:

>>> save_matrix('matrix.txt',
                [[11, 12, 13, 14, 15, 16],
                 [21, 22, 23, 24, 25, 26],
                 [31, 32, 33, 34, 35, 36]])

В файле matrix.txt должно получиться что-то вроде

11 12 13 14 15 16
21 22 23 24 25 26
31 32 33 34 35 36

Задача 2. Таблица умножения, multable(filename, ncol, nrow) (1 балл)

Написать функцию multable(filename, ncol, nrow), которая печатает в файл с именем filename таблицу умножения вида

1	2	3	4	5	6	…
2	4	6	8	10	12	…
3	6	9	12	15	18	…
4	8	12	16	20	24	…
…	…	…	…	…	…	…

Параметр ncol определяет количество колонок, параметр nrow — количество строчек.

Числа в колонках должны разделяться при помощи знака табуляции ('\t').

Задача 3. Выбор нечётных строк, evenlines(infile, outfile) (1 балл)

Требуется написать функцию evenlines(infile, outfile), которая пишет в файл с именем outfile строки файла infile с нечётными номерами (строки нумеруются с нуля).

Пример. Пусть в исходном файле написано следующее стихотворение:

Однажды в студёную зимнюю пору
Я из лесу вышел, был сильный мороз.
Гляжу — поднимается медленно в гору.
Лошадка, везущая хворосту воз.

В целевой файл будут записаны следующие строки:

Я из лесу вышел, был сильный мороз.
Лошадка, везущая хворосту воз.

Задача 4. Выбор строк с нечётным количеством слов, evenwordlines(infile, outfile) (1 балл)

Требуется написать функцию evenwordlines(infile, outfile), которая пишет в файл с именем outfile строки файла infile с нечётным количеством слов. Считать, что слова просто разделяются пробельными символами.

Пример. Пусть в исходном файле написано следующее стихотворение:

Однажды в студёную зимнюю пору
Я из лесу вышел, был сильный мороз.
Гляжу — поднимается медленно в гору.
Лошадка, везущая хворосту воз.

В целевой файл будут записаны следующие строки:

Однажды в студёную зимнюю пору
Я из лесу вышел, был сильный мороз.