Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSH-PY101

Курс для цифровой школы и цифровой кафедры

Лабораторные работы

Каждая лабораторная представляет из себя набор заданий.
Опиcание заданий можно найти в файле task.md.
Авторское решение задания можно найти в файле main.py или task.py.

Перечень лабораторных работ

Критерии оценивания

Каждое задание внутри лабораторной оценивается в один балл.
Эта оценка складывается из следующих частей:

  1. полбалла за то, что задание выполнено верно и проходит проверки автоматизированного тестирования. Этот момент студенты должны предоставить в PR c заданиями на проверку;
  2. полбалла на усмотрение проверяющего, чтобы простимулировать студента выполнить работу лучше. Точных критериев здесь по оцениванию нет, поэтому стоит аргументировать почему стоит сделать лучше.

Можно комментариями начинающимися с FIXME указывать на то, что повлияет на их оценку. А TODO указывается, как можно сделать лучше, но это не повлияет на оценку, а прокоментировать всё-таки хочется. И оставить этот момент на совесть студента.

Перечень критериев, на что следует обращать внимание

  • не соблюдение принципов DRY;
  • использование "магических" чисел;
  • использование однобуквенных переменных, кроме общее принятых. Если i используется для индекса - это ок, если она же используется для перебора элементов коллекции надо мягко поругать за это;
  • решение, которое выглядит как масло-масляннное:
    # поиск индекса элемента в списке
    def find_index_item(item_list, item):
        for i in item_list:
            if i == item:
                return item_list.index(item)
  • при работе с циклами указывать на то, если нужно значение, то сразу брать его, если нужны пары индекс/значение, то enumerate
    for pos_letter in range(len(low_txt)):  # Ругать за такое
        ...
  • излишнее и необоснованное приведение типов;
  • изобретение велосипедов:
    # поиск общих элементов
    result = []
        for x in set2_:
            if x in set1_:
                result.append(x)
  • очедидно не эффективное решение, пугать алгоритмическими сложностями не стоит. Вот показательный пример: {x: main_str.count(x) for x in main_str} для нахождения частоты каждой из букв

About

Учебный курс процедурному программированию на Python

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages