Типы данных в Python: словари, списки списков как многомерные массивы
- Моделирование массивов, матриц и других конструкций ЯП в Python с помощью вложенных списков; недостатки таких моделей
- Словарь (ассоциативный массив):
- Задание и использование
Доступ к значениям и ключам "","view","iter" × items(), values(), keys() (view есть начиная с Python2.7)
- Словари над кортежами целых как многомерные (возможно, разреженные) массивы
Сравнение достоинств и недостатков разреженных и полных массивов
Использование os.times() для измерения времени работы
Домашнее задание
Прочитать про словари в учебнике (и следующую часть, про «проходы циклом»)
- Написать программу, создающую в качестве модели таблицы N×N:
- Список списков
- Дырявый словарь
- Полный словарь
- Сравнить время:
- создания таблицы
- Заполнения 10% таблицы
- Полного заполнения таблицы
- Полного заполнения уже заполненной таблицы (возможны различия для модели №2)
- удаления таблицы
Ввести данные вида
Фамилия1 Имя1 Отчество1 Оценка1-1 Оценка1-2 … Фамилия2 Имя2 Отчество2 Оценка2-1 Оценка2-2 … … Пустая строка
- выдать их в отсортированном по среднему баллу порядке
- … + исключить из списка тех, кто получил меньше 3 оценок
- Написать генератор входных данных
- Требуется заполнить массив размера N × N единичками по спирали (начиная с верхнего левого угла по часовой стрелке). Ввести N. Вывести на экран построенную спираль.
1111111 0000001 1111101 1000101 1011101 1000001 1111111
(ВМиК 2012). Гравицапа. Гравицаппу можно изготовить из нескольких деталей по прилагающейся инструкции. Если соответствующей детали нет, её, в свою очередь, можно изготовить из других деталей по другому разделу той же инструкции. Написать программу, которая проверяет, можно ли из имеющегося набора деталей изготовить гравицаппу.
Ввод: Первая строка — набор имеющихся деталей (разделённые пробелом натуральные числа, необязательно различные, в диапазоне от 1 до 999 числом не более 10000). Вторая и последующие строки содержат правила из инструкции вида «Целеваядеталь Деталь1 Деталь2 ...», задающие способ сборки Целевойдетали. Последняя строка определяет правило сборки самой гравицаппы в виде «0 Деталь1 Деталь2 ...» (ноль вместо номера детали). Каждая составная деталь собирается единственным способом.
Вывод: Yes или No
Пример1:
Ввод:
2 3 5 5 5 6 7 7 7 8 8 8 9 9 4 3 5 5 3 6 7 8 8 2 7 9 7 1 2 0 1 2 3 4
Вывод: Yes
Пример2:
Ввод:
4 4 4 4 6 4 6 6 6 2 4 4 0 2 4 6 6
Вывод No
Условные обозначения
— тема по Linux
— тема повышенной сложности
— теоретическое задание
— тема для самостоятельного изучения