Возможности языка Python: повторение и уточнение

Итоги за полгода и различные особенности, о которых не говорилось

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

  1. {i} Почитать учебник в произвольных местах :)

  2. Лабиринт. Лабиринт задан массивом M×N нулей и единиц. 0 считается проходимым местом, а 1 — непроходимым.

    1. Выбрать формат хранения лабиринта (список списков или словарь) и формат ввода: в виде списка списков или словаря можно вводить с помощью input() (или eval(input()) в Python3), а вручную удобнее построчно, примерно так:

      .#...........
      .#####.#####.
      ...#...#...#.
      ##.#.###.###.
      ...#.#.......
      .###.#.######
      .#...#...#...
      .###.###.#.##
      .....#.#.#...
      ######.#.###.
      .#.....#.....
      .#.#.#######.
      ...#.........
    2. Написать программу, которая:
      1. умеет выводить лабиринт в красивом виде
      2. Проверяет, можно ли добраться из клетки (0,0) в клетку (M-1,N-1)
      3. … + вычисляет длину минимального пути
      4. … + выводит маршрут
    3. Написать генератор входных данных (для ввода со стандартного ввода можно впоследствии использовать конструкции вида python generator.py | python solver.py в командной строке или eval(строка-сгенерированная-генератором) в коде решения)

      • Просто какого-то лабиринта
      • Лабиринта, который с достаточной вероятностью может быть проходим или непроходим
      • Проходимого или непроходимого лабиринта по требованию
      • Лабиринта с ветвящимися путями
      • «Красивого» лабиринта как на примере
        • Намеренно непонятный (решайте задачу сами :) ) генератор лабиринта в виде списка списков labpur.py

        • Намеренно непонятный (решайте задачу сами :) ) генератор лабиринта в виде словаря labpurd.py

        • Намеренно непонятный (решайте задачу сами :) ) генератор лабиринта в виде "...#...#" labpurc.py

        • Не хотите? :( Вот подсказка: ( )

      • Лабиринта с несколькими вариантами прохода

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


CategoryClass CategoryVmsh

LecturesVMSH/Python/2013-01-18 (последним исправлял пользователь FrBrGeorge 2013-01-18 18:11:17)