Форум сайта python.su
0
Есть код:
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)
Users/***/PycharmProjects/Lessons/sort/sort.py”, line 34, in <module>
Users/***/PycharmProjects/Lessons/sort/sort.py”, line 18, in test_sort
?
Отредактировано RatiborMur (Авг. 24, 2018 19:09:34)
Офлайн
73
NameError: name ‘sort_algorithm’ is not defined
имя sort_algorithm не определено! где у вас в коде я так понимаю функция sort_algorithm?
Офлайн
0
Для этого и использовал ( if __name__ == “__main__”: ), чтоб тестирующая функция была общей для всех функций сортировок. Вообщем, учусь по Ютуб лекциям Хирьянова, у него был такой код и проблем при выполнении не было, у меня же интерпретатор выдает такую ошибку. Пришлось реализовывать отдельно, но хотелось бы понять, почему не вышло, как у лектора.
Офлайн
1
sort_algoritm и sort_algorithm - это разные имена!
Бывает…
Офлайн
0
Упс… пора идти рецепт на очки менять… спасибо большое! В реале можно и подзатыльник выписать. Такая элементарщина! Вопрос закрыт.
Офлайн