Skip to content

Comments

Контрольная работа №1#12

Open
MenshikovaElizaveta wants to merge 8 commits intopython-course-matmex:mainfrom
MenshikovaElizaveta:main
Open

Контрольная работа №1#12
MenshikovaElizaveta wants to merge 8 commits intopython-course-matmex:mainfrom
MenshikovaElizaveta:main

Conversation

@MenshikovaElizaveta
Copy link

Меньшикова Елизавета Фёдоровна Б42

Добавлены файлы .gitignore и LICENSE.
В файле tests.yml исправлена версия Python.
Исправлен код для поиска номера числа в массиве.
Добавлены исключения в соответствующих случаях и тесты к ним.
В тесты добавлены инструкции импорта для использования фреймворка pytest.

Copy link

@Godrik0 Godrik0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ISBN10: 0/10
Бинарный поиск: 2/5
Оформление: 7/10 (необходимо было использовать snake_case в названиях)

Comment on lines +2 to +5
if x not in xs:
raise ValueError("такого элемента нет")
if xs != sorted(xs):
raise ValueError("Массив не отсортирован")
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Эти проверки полностью лишают смысла весь алгоритм. Поиск в xs имеет сложность $O(N)$, сортировка имеет сложность $O(N \log{N})$.
Можно было проверять, что x имеет тип int.

Comment on lines +17 to +24
def test_unsorted():
with pytest.raises(ValueError, match="Массив не отсортирован"):
binSearch([8, 3, 6, 1], 6)


def test_unsorted():
with pytest.raises(ValueError, match="такого элемента нет"):
binSearch([1, 2, 3], 9)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тесты имеют одинаковое название, вторая функция перезапишет первую.

Comment on lines 13 to 14
def test_not_in_list():
assert binSearch([1, 2, 3, 4], 5) == -1
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В текущей реализации метода, этот тест неверен. У вас бросается ошибка если элемента нет, а тут ожидается -1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants