diff --git a/part2_OOP/lesson1/README.md b/part2_OOP/lesson1/README.md new file mode 100644 index 0000000..ff18017 --- /dev/null +++ b/part2_OOP/lesson1/README.md @@ -0,0 +1,42 @@ +Задача: + +В первой строке вводится одно натуральное число num < 10. + +Во второй строке создается пустой массив. + +На третьей строке массив через цикл for заполняется рандомными натуральными числами < 100. Количество элементов не должно превышать num. + +Отсортируйте массив используя метод “пузырька” по возрастанию. + +Необходимо вывести получившийся массив. + + +Пример: + +Входные данные: + +>> 5 + +-------------------- + +>>1 + +>>5 + +>>8 + +>>11 + +>>2 + +Выходные данные: + +[1, 2, 5, 8, 11] + + +Этапы выполнения: + +Создайте файл с расширением “.py” и назовите его bubble_sort. +Напишите код решения задачи +Добавьте комментарии в коде объясняющие ход работы программы. + diff --git a/part2_OOP/lesson1/bubble_sort.py b/part2_OOP/lesson1/bubble_sort.py new file mode 100644 index 0000000..ec7a370 --- /dev/null +++ b/part2_OOP/lesson1/bubble_sort.py @@ -0,0 +1,44 @@ +""" +Модуль является результатом выполнения практической +домашней работы по теме "Повторение. Сортировка" + +В задании указанном в README.md требуется написать алгоритм +пузырьковой сортировки над объектом типа list. +В библиотеке collections представлен класс UserList, +который позволяет кастомизировать стандартный объект +list переопределением стандартных или добавлением своих +методов оставляя за скобками остальные стандартные методы. +Я создал свой class, переопределив метод sort, с использованием +пузырьковой сортировки. + +:copyright: Сергей Ванюшкин +:git: https://git.pi3c.ru/pi3c/StudyRepo_Synergy.git +:license: MIT +2023г. +""" + +from collections import UserList + + +class MyCustomList(UserList): + def __init__(self): + self.data = [] + + def len(self): + return self.data.__len__() + + def sort(self): + for _ in range(self.len() - 1): + for j in range(self.len() - 1): + if self.data[j] > self.data[j + 1]: + self.data[j], self.data[j + 1] = self.data[j + 1], self.data[j] + + +arr = MyCustomList() + +for _ in range(int(input("Введите количество элементов списка: "))): + arr.append(int(input(f"Введите элемент {_ + 1}: "))) + +print("Введенный список:", arr) +arr.sort() +print("Отсортированный", arr)