Найти - Пользователи
Полная версия: Нужна подсказка!
Начало » Центр помощи » Нужна подсказка!
1
RatiborMur
Есть код:
 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 “CUsers/***/PycharmProjects/Lessons/sort/sort.py”, line 34, in <module>
test_sort(insert_sort)
File “CUsers/***/PycharmProjects/Lessons/sort/sort.py”, line 18, in test_sort
sort_algorithm(A)
NameError: name ‘sort_algorithm’ is not defined

Process finished with exit code 1
При отдельной реализации сортировок все работает нормально, в чем моя ошибка? Не правильно реализую ( if __name__ == “__main__”?
marvellik
NameError: name ‘sort_algorithm’ is not defined
имя sort_algorithm не определено! где у вас в коде я так понимаю функция sort_algorithm?
RatiborMur
Для этого и использовал ( if __name__ == “__main__”: ), чтоб тестирующая функция была общей для всех функций сортировок. Вообщем, учусь по Ютуб лекциям Хирьянова, у него был такой код и проблем при выполнении не было, у меня же интерпретатор выдает такую ошибку. Пришлось реализовывать отдельно, но хотелось бы понять, почему не вышло, как у лектора.
AleksandrPavlovich
sort_algoritm и sort_algorithm - это разные имена!
Бывает…
RatiborMur
Упс… пора идти рецепт на очки менять… спасибо большое! В реале можно и подзатыльник выписать. Такая элементарщина! Вопрос закрыт.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB