Мне кажется, что ваш код работает хорошо, в том смысле, что он правильно сортирует данные. Но это выглядит как прямой однонаправленный вид для меня. В заявлении о проблеме требуется функция bubble_both()
для распечатки отчетов о проделанной работе. В коде нет вызова print()
, поэтому вы не видите отчетов о проделанной работе. Но после вызова функции переменная a_list
фактически сортируется. Я добавил print()
вызов в качестве первой строки функции, и вот что я получил:
>>> a_list
[54, 26, 93, 17, 77, 31, 44, 55, 20]
>>> bubble_both(a_list)
[54, 26, 93, 17, 77, 31, 44, 55, 20]
[26, 54, 93, 17, 77, 31, 44, 55, 20]
[26, 54, 17, 93, 77, 31, 44, 55, 20]
[26, 54, 17, 77, 93, 31, 44, 55, 20]
[26, 54, 17, 77, 31, 93, 44, 55, 20]
[26, 54, 17, 77, 31, 44, 93, 55, 20]
[26, 54, 17, 77, 31, 44, 55, 93, 20]
[26, 54, 17, 77, 31, 44, 55, 20, 93]
[26, 17, 54, 77, 31, 44, 55, 20, 93]
[26, 17, 54, 31, 77, 44, 55, 20, 93]
[26, 17, 54, 31, 44, 77, 55, 20, 93]
[26, 17, 54, 31, 44, 55, 77, 20, 93]
[26, 17, 54, 31, 44, 55, 20, 77, 93]
[17, 26, 54, 31, 44, 55, 20, 77, 93]
[17, 26, 31, 54, 44, 55, 20, 77, 93]
[17, 26, 31, 44, 54, 55, 20, 77, 93]
[17, 26, 31, 44, 54, 20, 55, 77, 93]
[17, 26, 31, 44, 20, 54, 55, 77, 93]
[17, 26, 31, 20, 44, 54, 55, 77, 93]
[17, 26, 20, 31, 44, 54, 55, 77, 93]
[17, 20, 26, 31, 44, 54, 55, 77, 93]
Код не считает обмены как постановку задачи. Он просто использует флаг true / false. Поэтому я не пытался распечатать это.