Различия между версиями 8 и 9
Версия 8 от 2020-11-12 16:39:29
Размер: 2606
Редактор: FrBrGeorge
Комментарий:
Версия 9 от 2020-11-19 19:00:49
Размер: 3419
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 32: Строка 32:

 * Как написать тест на класс/функцию?
  1. К файлу с классом/функцией приписывается тестирующий код
  {{{#!highlight python
print(eval(input()))
  }}}
  1. В файл с тестом (`1.in`) кладётся ''выражение на питоне'', в котором используется тестируемый класс или функция
  1. В файл с эталонным выводом попадает результат этого `print()`
 * Пример:
  1. `prog.py`
  {{{#!highlight python
class C:
 A = 100500
 def fun(self, other):
  return self.A+other

import sys
exec(sys.stdin.read())
}}}
  1. `data/1.in`
  {{{
C().A+42-C().fun(33)
  }}}
   1. `data/1.out`
  {{{
9
  }}}

Структура 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 print(eval(input()))
      
    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

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

      9

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