Различия между версиями 13 и 14
Версия 13 от 2020-12-25 10:24:49
Размер: 4210
Редактор: FrBrGeorge
Комментарий:
Версия 14 от 2020-12-25 10:25:25
Размер: 4214
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 19: Строка 19:
  * запуск [[https://git.cs.msu.ru/gkuryachiy/prac/-/raw/master/checker/checker.py|программы проверки]] `checker.py путь-до-каталога-с-решением`   * запуск [[https://git.cs.msu.ru/gkuryachiy/prac/-/raw/master/checker/checkerNN.py|программы проверки]] `checkerNN.py путь-до-каталога-с-решением`

Структура git-репозитория для практикума 2020 г. по Python

Каталог для практикума в git-репозитории должен называться pythonprac. Далее все пути указаны, считая от этого каталога.

  • Репозиторий должен быть публичный

  • После создания репозитория его следует зарегистрировать здесь: https://git.cs.msu.ru/gkuryachiy/prac/-/issues/1

    • Указать ФИО и группу
  • Всё, что вы сделали за время занятия, следует публиковать в этом репозитории в день занятия

  • Все решения и тесты должны быть опубликованы в репозитории до окончания дедлайна по заданию

Для каждого задания практикума создается каталог с датой вида <ГГГГММДД> (выдача команды date "+%Y%m%d_1"), дата - того семинара, на котором выдано задание. Если на семинаре выдано несколько заданий, то для них создаются каталоги вида <ГГГГММДД_1>, <ГГГГММДД_2> и т.п.

TODO на потом: не ГГГГММДД_N, а ГГГГММДД/N — чтобы можно было нормально по дням считать

В каталоге содержатся:

  • файл readme.txt с требуемой по заданию информацией о разработанной программе. Как минимум - с названием задания. Могут также потребоваться: перечень ключей командной строки, перечень входных файлов, описание формата вывода.

  • файл(ы) с текстом программы. TODO на потом: ровно один файл или фиксированные названия для просроченных. но проходящих тесты

  • конфигурационные файлы, если они есть у программы.
  • подкаталог data/, в котором хранятся примеры входных данных (если нужны по заданию).

    • Файлы с именами inputчисло.txt и outputчисло.txt — тестовые

    • запуск программы проверки checkerNN.py путь-до-каталога-с-решением

      • для всех файлов число.in

        1. запускает ваше решение, передаёт ему на стандартный вход содержимое число.in

        2. сравнивает вывод решения с эталонным выводом число.out

      • Выводит статистику, и, если они есть, различия

Пример:

20200903_1/

  • readme.txt

  • task1.py

  • task1.ini

  • data/

    • 1.in

    • 1.out

    • 2.in

    • 2.out

  • Как написать тест на класс/функцию?
    1. К файлу с классом/функцией приписывается тестирующий код
         1 import sys
         2 exec(sys.stdin.read())
      
    2. В файл с тестом (1.in) кладётся программа на питоне, в которой используется тестируемый класс или функция

    3. В файл с эталонным выводом попадает результат этого print()

  • Пример:
    1. prog.py

         1 class C:
         2         A = 100500
         3         def fun(self, other):
         4                 return self.A+other
         5 
         6 import sys
         7 exec(sys.stdin.read())
      
    2. data/1.in

      print(C().A+42-C().fun(33))
      1. data/1.out

      9

LecturesCMC/PythonIntro2020/Prac/RepoStruct (последним исправлял пользователь FrBrGeorge 2020-12-25 10:25:25)