Различия между версиями 10 и 11
Версия 10 от 2020-11-19 19:02:33
Размер: 3433
Редактор: FrBrGeorge
Комментарий:
Версия 11 от 2020-11-19 19:03:11
Размер: 3440
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 39: Строка 39:
  1. В файл с тестом (`1.in`) кладётся ''выражение на питоне'', в котором используется тестируемый класс или функция   1. В файл с тестом (`1.in`) кладётся ''программа на питоне'', в которой используется тестируемый класс или функция
Строка 54: Строка 54:
C().A+42-C().fun(33) print(C().A+42-C().fun(33))

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

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

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

  • Указать ФИО и группу

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

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

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

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

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

    • запуск программы проверки checker.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)