Различия между версиями 4 и 5
Версия 4 от 2022-10-18 12:05:16
Размер: 3834
Редактор: FrBrGeorge
Комментарий:
Версия 5 от 2022-12-26 15:41:14
Размер: 4003
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 2: Строка 2:

'''TODO''' вместо коммита задачи посещаемость определять по файлу `exercises.py` (или не, .py, подумать)

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

TODO вместо коммита задачи посещаемость определять по файлу exercises.py (или не, .py, подумать)

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

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

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

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

Правила именования

  • Для каждого семинара создается каталог с датой вида <ГГГГММДД> (выдача команды date "+%Y%m%d"), дата - того семинара, на котором выдано задание.

  • Для каждого задания создаются подкаталоги <ГГГГММДД>/1, <ГГГГММДД>/2 и т. д.

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

  • ровно один .py-файл с текстом решения

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

Подсистема проверки домашних заданий:

Тесты:

  • для всех пар файлов вида 0.in/0.out, 1.in/1.out, …

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

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

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

Пример:

20210903/1

  • prog.py

  • tests/

    • 1.in

    • 1.out

    • 2.in

    • 2.out

Как написать тест на класс/функцию?

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

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

Пример:

  • 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())
    
  • tests/1.in

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

    9

LecturesCMC/PythonIntro2022/Prac/RepoStruct (последним исправлял пользователь FrBrGeorge 2022-12-26 15:41:14)