def insert_sort(A): """ сортировка списка А вставками """ pass def choice_sort(A): """ сортировка списка А выбором """ pass def bubble_sort(A): """ сортировка списка методом пузырька """ pass def test_sort(sort_algoritm): print ("Тестируем:", sort_algoritm.__doc__) print("testcase #1: ", end="") A = [4, 2, 5, 1, 3] A_sorted = [1, 2, 3, 4, 5] sort_algorithm(A) print("Ok" if A == A_sorted else "Fail") #сравнение списков затратное по времени, требует len(A) операций print("testcase #2:", end="") A = list(range(10, 20)) + list(range(0, 10)) A_sorted = list(range(20)) sort_algorithm(A) print("Ok" if A == A_sorted else "Fail") print("testcase #3:", end="") A = [4, 2, 4, 2, 1] A_sorted = [1, 2, 2, 4, 4] sort_algorithm(A) print("Ok" if A == A_sorted else "Fail") if __name__ == "__main__": test_sort(insert_sort) test_sort(choice_sort) test_sort(bubble_sort)
Выдает ошибку:
Traceback (most recent call last):
testcase #1: File “C
Users/***/PycharmProjects/Lessons/sort/sort.py”, line 34, in <module>test_sort(insert_sort)
File “C
Users/***/PycharmProjects/Lessons/sort/sort.py”, line 18, in test_sortsort_algorithm(A)
NameError: name ‘sort_algorithm’ is not defined
Process finished with exit code 1
При отдельной реализации сортировок все работает нормально, в чем моя ошибка? Не правильно реализую ( if __name__ == “__main__”
?