Типы данных в Python: словари, списки списков как многомерные массивы

Домашнее задание

  1. {i} Прочитать про словари в учебнике (и следующую часть, про «проходы циклом»)

  2. Написать программу, создающую в качестве модели таблицы N×N:
    1. Список списков
    2. Дырявый словарь
    3. Полный словарь
    • Сравнить время:
      • создания таблицы
      • Заполнения 10% таблицы
      • Полного заполнения таблицы
      • Полного заполнения уже заполненной таблицы (возможны различия для модели №2)
      • удаления таблицы
    • 2012-12-21.measure.py

  3. Ввести данные вида

      Фамилия1 Имя1 Отчество1 Оценка1-1 Оценка1-2 …
      Фамилия2 Имя2 Отчество2 Оценка2-1 Оценка2-2 …
      Пустая строка
    • выдать их в отсортированном по среднему баллу порядке
    • … + исключить из списка тех, кто получил меньше 3 оценок
    • Написать генератор входных данных
  4. Требуется заполнить массив размера N × N единичками по спирали (начиная с верхнего левого угла по часовой стрелке). Ввести N. Вывести на экран построенную спираль.
    1111111
    0000001
    1111101
    1000101
    1011101
    1000001
    1111111
  5. <!> (ВМиК 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

Условные обозначения


CategoryClass CategoryVmsh

LecturesVMSH/Python/2012-12-21 (последним исправлял пользователь FrBrGeorge 2012-12-29 16:52:34)